我遇到过这种情况,我希望能够从另一个批处理文件中运行一个或多个批处理文件,但 CALL 不接受通配符来允许我这样做。所有被调用的批处理文件都有类似的名称,但我今天早些时候尝试过,但没有成功。我只是想知道如何使用普通的 CMD 命令来实现这一点。
答案1
使用 FOR 命令循环遍历每个子批处理文件。
FOR %%B IN sub*.bat DO CALL %%B
For - 循环遍历文件 - Windows CMD - SS64
有条件地对多个文件执行命令。
Syntax FOR %%parameter IN (set) DO command Key set : A set of one or more files, separated by any standard delimiter. Wildcards can be used. command : The command to carry out, including any command-line parameters. %%parameter : A replaceable parameter: e.g. in a batch file use %%G (on the command line %G)
...
虽然可以使用通配符,但处理文件的另一种方法是让 FOR /F 处理命令“DIR /b”的输出,当您想要使用 DIR 选项(如排序)时这很有用。