如何在Windows 11睡眠批处理文件中添加命令以禁用指定网卡的唤醒功能
当然可以!你的思路完全找对了方向——直接把禁用网卡唤醒的命令加到睡眠批处理里就行,这样每次触发睡眠前都会自动执行禁用操作,完美解决重启后设置重置的麻烦。
我给你整理了具体的操作步骤和注意事项:
首先打开你的睡眠批处理文件(右键选择“编辑”即可),在原来的睡眠命令之前,添加这行命令:
powercfg -devicedisablewake "Intel(R) Ethernet Controller (2) I225-V"
划重点:网卡名称必须和powercfg devicequery wake_armed输出的内容完全一致,包括括号、空格和版本标识,差一个字符都可能导致命令失效。(非常重要)修改设备唤醒权限需要管理员权限,所以你得确保批处理是以管理员身份运行的。如果你的键盘热键默认没带管理员权限启动它,命令大概率会执行失败。解决方法是:右键批处理文件→创建快捷方式→右键快捷方式选“属性”→切换到“快捷方式”标签→点击“高级”→勾选“以管理员身份运行”,最后把键盘热键绑定到这个快捷方式上。
最后保留你原来的睡眠命令就行,比如常用的睡眠命令是
rundll32.exe powrprof.dll,SetSuspendState 0,1,0,把它放在刚才的禁用命令后面就好。
给你一个完整的示例批处理代码:
@echo off :: 禁用指定网卡的唤醒功能 powercfg -devicedisablewake "Intel(R) Ethernet Controller (2) I225-V" :: 触发电脑睡眠 rundll32.exe powrprof.dll,SetSuspendState 0,1,0
这里@echo off是让命令行窗口不显示多余的执行日志,看起来更清爽;::开头的是注释,方便你后续查看代码时快速理解每一行的作用。
如果你想确认命令是否真的生效,可以在禁用命令后面加一行powercfg devicequery wake_armed,执行批处理时会弹出窗口显示当前仍可唤醒电脑的设备,你能直观看到目标网卡已经不在列表里了。不过这行是可选的,不想看到额外输出的话可以忽略。
最后记得测试一下:保存批处理后,用管理员权限运行它,确认电脑正常睡眠且不会无故自行唤醒;重启电脑后再试一次,应该也能正常生效——毕竟每次睡眠前都会重新执行禁用命令,从根源上避免了重启后设置重置的问题。
备注:内容来源于stack exchange,提问作者obewanjacobi




