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

3ge*_*go3 1 windows batch-file

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

PS当我运行单批时,我需要"按任意键".

有一个主批处理文件的例子

 @echo off
 echo This batch runs all scripts
 CALL A.bat 
 CALL B.bat 
 CALL C.bat         
Run Code Online (Sandbox Code Playgroud)

Ste*_*han 6

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

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

echo/|call A.bat
echo/|call B.bat
echo/|call C.bat
Run Code Online (Sandbox Code Playgroud)

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

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

编辑以匹配您最近对该问题的评论:

当你可以编辑你的a.bat等,你可以pause用这行代替那里的命令:

echo %cmdcmdline%|find /i " CALL " >nul || pause
Run Code Online (Sandbox Code Playgroud)

如果脚本已call编辑且仅执行,则检查,否则执行pause.

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