假设我们执行如下命令并将控制台输出重定向到文本文件中。
我的问题是批处理脚本中有pause
个命令,当像这样重定向时,我不知道何时按Enter键继续批处理。
请帮助我让批处理“忽略”pause
命令而不更改批次本身。我更喜欢获得一些重定向/管道语法。
MyBatchScriptWithPause.bat > SomeFile.txt
答案 0 :(得分:3)
这应该这样做:
(echo.&echo.&echo.&echo.) | MyBatchScriptWithPause.bat > somefile.txt
假设没有其他命令期望该批处理文件中的用户输入。
修改强>
它还假定该文件中只有单个 pause
命令。否则Andriy的建议应该有效。
答案 1 :(得分:3)
MyBatchScriptWithPause.bat > SomeFile.txt < nul
nul
是一个DOS设备,它将提供无限的空数据,因此只要脚本需要,它就会充当输入。它甚至可以在现代Windows版本上使用。
答案 2 :(得分:1)
我不确定忽略暂停,但您可以将它们重定向到标准错误:
pause 1>&2
可以让你知道暂停的时间。