cmd/q无法按预期工作

use*_*208 0 windows cmd command-prompt command-line-arguments

我想启动命令提示符,但不希望它的任何输出.所以我开始它 -

cmd /q dir
Run Code Online (Sandbox Code Playgroud)

哪个工作正常,但一个cmd.exe不会退出.如果我用这个 -

cmd /q /c  dir
Run Code Online (Sandbox Code Playgroud)

我可以看到dir命令的输出,我不希望看到

dbe*_*ham 5

/ Q选项不会禁用输出,它只会关闭ECHO.通常不需要它,但有时它会变得有用.

要禁用所有非错误输出,只需将stdout重定向到nul(>nul1>nul).如果您还想禁用错误输出,则还必须重定向stderr(2>nul).

>nul 2>nul cmd /c dir
Run Code Online (Sandbox Code Playgroud)

附录

Andriy M对他在这个问题上的评论有一个很好的观点.您可以直接执行命令而无需通过CMD.重定向仍然可以正常工作.

>nul 2>nul yourCommand.exe
Run Code Online (Sandbox Code Playgroud)

  • @ user837208:在您的特定情况下,您应该在远程系统上进行重定向,以便不通过网络发送输出:psexec \\ target cmd/c"> nul 2> nul yourCommand.exe" (2认同)