依次执行当前文件夹中的所有命令

时间:2016-09-06 14:28:49

标签: windows shell cmd

假设我在.cmd文件中有一堆sqlcmd命令,按字母顺序排序,例如:

  1. 01.setup.cmd
  2. 02.version1.cmd
  3. 03.version2.cmd
  4. 04.version3.cmd
  5. 一个顺序怎么能用另一个.cmd文件以正确的顺序执行这些?

1 个答案:

答案 0 :(得分:1)

在Windows上:

for /F "tokens=*" %a in ('dir /b *.cmd') do call "%a"

这只是循环遍历dir /b *.cmd依次调用每个结果。

来自文档的解释:

  

文本文件的FOR / F处理包括读取文件,一个   一行一行,然后将行分成个人   称为“令牌”的数据项。然后执行DO命令   设置为找到的令牌的参数。

所以我的命令说:

  • "tokens=*"不要给我个人代币,给我整条线作为一击
  • %a - 将行变量命名为%a(注意:如果您将其放入批处理文件中,则需要将其转义为%% a
  • ('dir /b *.cmd')这是它循环的输入。所有.cmd文件的裸目录列表
  • 然后我想要它做什么。调用命令%a。

如果我没有添加令牌位,那么在文件名中找到空格之前它会正常工作。