繁体   English   中英

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

[英]Batch file runs other batch files without press key

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

附注:我单批运行时需要“按任意键”。

有一个主要批处理文件的示例

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

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

如果不允许您修改这些脚本(或者由于动态创建它们而无济于事对其进行修改),则可以通过将echo传递给脚本来伪造ENTER

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%包含执行脚本的确切方法。

使用“暂停”> null来取消“按任意键继续”。 信息。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM