[英]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.