繁体   English   中英

如何在一批中运行多个cmd文件?

[英]How do I run multiple cmd files within a batch?

我已经看到很多关于此类问题的文章,但找不到适合我的示例的答案。

我需要的

在我的脚本中,我需要启动一个特殊文件夹(不是我的脚本所在的位置)中的所有.cmd文件。 是53个.cmd文件,在此文件夹中执行不同类型的作业。

问题

我想要一个简短的命令,使得可以在一行或几行中打开所有文件,而其中的53行以start "c:\\allcmdfiles\\example-xxx-xx shortcut.cmd"

我在想什么

因此,在StackOverFlow上的其他帖子中,我碰到了call命令。 我已经尝试了各种命令,但无法正常工作

for %%f in ("c:\\allcmdfiles*.cmd") do CALL %%f

也许一些实用信息

它可以在Windows Server 2008 R2 std上运行,但我正在W7上进行测试

文件的名称和破折号之间会有空格

我的问题

那么,有谁知道我该如何做呢? 谢谢!

for /f "tokens=*" %%i in ('dir /b c:\allcmdfiles\*.cmd') do call c:\allcmdfiles\%%i

您错过了使用wildcars列出文件的dir命令,我们使用了/b (简短),因为我们只需要文件名

这在批处理文件中对我有用:

for %%f in ("c:\test\test*.cmd") do call "%%f"

或命令行上的等效项:

for %f in ("c:\test\test*.cmd") do call "%f"

我注意到使用Kayasax的变体时,您说的是先运行第一个子脚本,然后退出父脚本。 这表明子脚本正在使用exit命令。 最好的解决方案是修复子脚本,但是如果不能这样做,则必须在子shell中运行它:

for %%f in ("c:\test\test*.cmd") do cmd /c "%%f"

暂无
暂无

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

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