批处理文件运行其他批处理文件而无需按键

时间:2016-11-03 10:44:02

标签: windows batch-file

我有一个批处理文件,它运行多个批处理文件。我在这个文件中使用CALL语句。但执行一个批处理文件后,我必须按任意键才能运行其他批处理文件。是否有任何可能性如何禁用此条件以在每个批次调用后按任意键?

P.S。我运行单批时需要“按任意键”。

主批文件有一个例子

 @echo off
 echo This batch runs all scripts
 CALL A.bat 
 CALL B.bat 
 CALL C.bat         

2 个答案:

答案 0 :(得分:6)

你(可能)在每个被调用的脚本中都有一个pause命令。删除它们。

如果您不允许修改这些脚本(或者因为它们是动态创建的而修改它们没有意义),您可以通过将ENTER发送到脚本来伪造echo

echo/|call A.bat
echo/|call B.bat
echo/|call C.bat

echo/只输出CRLF(= ENTER =空行)
|将左命令的输出作为右命令的输入。

注意:这将为脚本中的第一个命令提供ENTER,这需要一些输入。如果你很幸运,那就是pause命令。

修改以将您最近的评论与问题相符:

当您可以修改a.bat等时,可以使用此行替换pause命令:

echo %cmdcmdline%|find /i " CALL " >nul || pause

如果脚本为call并且仅执行pause,则检查该脚本。

%cmdcmdline%包含确切的方式,脚本的执行方式。

答案 1 :(得分:-1)

使用暂停> null来禁止按任意键继续。'消息。

http://ss64.com/nt/pause.html