假設我們執行如下命令並將控制檯輸出重定向到文本文件中。將命令行日誌重定向到文件時出現`pause`命令問題
我的問題是批處理腳本中有pause
命令,並且像這樣重定向時,我無法知道何時按Enter鍵以繼續批處理。
請幫助我在不更改批處理的情況下讓批處理「忽略」pause
命令。我更喜歡獲得一些重定向/管道語法。
MyBatchScriptWithPause.bat > SomeFile.txt
假設我們執行如下命令並將控制檯輸出重定向到文本文件中。將命令行日誌重定向到文件時出現`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