Batch file PrintUI.dll错误处理

Batch file PrintUI.dll错误处理,batch-file,error-handling,cmd,rundll32,Batch File,Error Handling,Cmd,Rundll32,PrintUI.dll似乎与典型命令具有不同的错误处理系统。如果我尝试运行以下条件命令: (rundll32 printui.dll,PrintUIEntry /y /n "foo") & (echo Success) | (echo Fail) 此命令的计算结果将为false,但错误警报不会被抑制。如何抑制这些警报 错误: 我找到了答案。必须包括修改参数/q (rundll32 printui.dll,PrintUIEntry /y /n /q "foo") & (echo

PrintUI.dll似乎与典型命令具有不同的错误处理系统。如果我尝试运行以下条件命令:

(rundll32 printui.dll,PrintUIEntry /y /n "foo") & (echo Success) | (echo Fail)
此命令的计算结果将为false,但错误警报不会被抑制。如何抑制这些警报

错误:


我找到了答案。必须包括修改参数
/q

(rundll32 printui.dll,PrintUIEntry /y /n /q "foo") & (echo Success) | (echo Fail)
MS文档:

rundll32和printui.dll的替代方法是使用windows附带的VBS打印机实用程序脚本:。使用此脚本时,不会创建任何对话框

示例(在cmd.exe中运行):


您只需要一个符号和管道(
&
|
)+1,这是正确的语法,但它仍然不会抑制警报。然后重定向输出(这在批处理中似乎不可能)我认为您无法执行此操作。您可以使用
2>&1
重定向输出,但这仍然不会抑制警报。即使已成功添加打印机,这始终会为我返回“失败”。(rundll32 printui.dll,printuitery/in/n/q\\servername\%printername%)&(echo成功)|(echo失败)
cscript %WINDIR%\System32\Printing_Admin_Scripts\en-US\Prnmngr.vbs -a -p "my printer"