将命令行日志重定向到文件时出现`pause`命令问题
问题描述:
假设我们执行如下命令并将控制台输出重定向到文本文件中。将命令行日志重定向到文件时出现`pause`命令问题
我的问题是批处理脚本中有pause
命令,并且像这样重定向时,我无法知道何时按Enter键以继续批处理。
请帮助我在不更改批处理的情况下让批处理“忽略”pause
命令。我更喜欢获得一些重定向/管道语法。
MyBatchScriptWithPause.bat > SomeFile.txt
答
这应做到:
(echo.&echo.&echo.&echo.) | MyBatchScriptWithPause.bat > somefile.txt
假设没有其他命令在该批处理文件希望用户输入。
编辑
它还假定只有单pause
命令在该文件中。否则,安德里的建议应该工作。
答
我不知道无视暂停,但你可以将它们重定向到标准错误:
pause 1>&2
这将让你知道当发生暂停。
答
MyBatchScriptWithPause.bat > SomeFile.txt < nul
nul
是一个DOS设备将提供无限的空数据,所以每当脚本需要一些它将作为输入。即使在现代Windows版本上它仍然可用。
该OP说:*'暂停**命令**'*。我认为,而不是`echo x`它可能是`type file.txt`,其中`file.txt`是一个空行数很少的文件。 – 2011-06-17 11:47:39
尽管`(echo。&echo。&echo。&echo。)| MyBatchScriptWithPause.bat> somefile.txt`也可能起作用。 – 2011-06-17 11:49:07
@Andriy:谢谢你的提示 – 2011-06-17 12:42:39