我试图写一个批处理脚本,将依次通过以下注册表项,并更新不同的子键的所有打印机:禁用SSNPNotifyEventSetting与蝙蝠
“HKEY_LOCAL_MACHINE \系统\ CurrentControlSet \控制\打印\打印机\”
例如:
reg add HKLM\System\CurrentControlSet\Control\Print\<Some Printer>\PrinterDriverData /t REG_DWORD /v SSNPNotifyEventSetting /d 0
我需要运行对每个已安装打印机的更新,我认为FOR语句应该可以。我对FOR语句不太好,所以我需要帮助。这是我迄今为止所研究/尝试过的:
set var1="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers\"
FOR /F "PrinterDriverData" %%F IN ('REG QUERY %var1%') DO REG ADD %var1%\%%F\PrinterDriver\Data /t REG_DWORD /v SSNPNotifyEventSetting /d 0
我知道这可能是失败的,但是就我自己的想法而言。任何帮助表示赞赏!
感谢您的回应,但我无法让工作。 (在XP上测试)。我试图直接复制命令到CMD并从批处理脚本运行,我不断收到以下错误: 错误:太多命令行参数 我试图删除“/ f */k”希望它会的工作,但仍然失败。有没有我看不到的错字,或者它不工作?无论哪种方式,谢谢你的努力。 – slynch1223
Ops,我只在Windows 7上测试过。原来在Windows XP上reg.exe不支持一些参数;实际上我们不需要它们。 – wangzq