我有一个批处理文件,它运行多个批处理文件。我在这个文件中使用CALL语句。但执行一个批处理文件后,我必须按任意键才能运行其他批处理文件。是否有任何可能性如何禁用此条件以在每个批次调用后按任意键?
P.S。我运行单批时需要“按任意键”。
主批文件有一个例子
@echo off
echo This batch runs all scripts
CALL A.bat
CALL B.bat
CALL C.bat
答案 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来禁止按任意键继续。'消息。