可以在 CMD 中的 CALL 中使用通配符吗?

可以在 CMD 中的 CALL 中使用通配符吗?

我遇到过这种情况,我希望能够从另一个批处理文件中运行一个或多个批处理文件,但 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 选项(如排序)时这很有用。

相关内容