如何在批处理文件中跳过暂停

Sta*_*tan 38 batch-file

在Windows批处理文件中,如果myScript.bat运行otherScript.bat,而在otherScript.bat中,则在第一行中有一个暂停.如何发送击键以跳过myScript.bat中的暂停?所以我的脚本不需要进行任何提取键击,也不会被暂停阻止.谢谢.

Pat*_*uff 57

一种方法是使用该echo命令为您执行击键.

例如:

myScript.bat

@echo OFF

@echo Calling otherScript.bat...
@echo | call otherScript.bat
@echo Done.
Run Code Online (Sandbox Code Playgroud)

otherScript.bat

pause
@echo Hello World
Run Code Online (Sandbox Code Playgroud)

Stefan的解决方案更灵活,允许您控制何时暂停,但如果由于某种原因无法修改otherScript.bat,此解决方案将起作用.

  • 你应该使用`@echo。| 调用 otherScript.bat`(注意 echo 后面的点)。这样,只有一个新行会发送到另一个脚本,而不是字符串“ECHO is on”。或类似的。当在其他脚本中使用“set /p”时,发送字符串可能会产生负面影响。 (2认同)

Ste*_*gli 17

您可以修改otherScript.bat,使其接受可选参数,告诉它跳过暂停命令,如下所示:

if "%1"=="nopause" goto start
pause
:start
Run Code Online (Sandbox Code Playgroud)