这篇文章背后的基本问题是有一种方法可以在Windows命令提示符下的FOR循环中指定两个参数吗?
特别针对我的问题,我使用的是通过Windows命令提示符运行的simulation.exe。在其最简单的形式中,程序可以使用以下命令运行:
simulation.exe parameters.txt
文本文件指定多个输入文件的文件路径。
您可以在行中指定一些参数,同时在文本文件中指定其他参数:
simulator.exe parameters.txt parameter1: filepath parameter2: filepath
这对于使用FOR循环很有用,指定在文本文件中保持不变的所有参数以及在行本身中变化的参数。
到目前为止,这一切都非常简单,但是当我需要循环使用两个参数时,问题出现了。我有100套两个匹配的.asc文件,一个用于参数1,另一个用于参数2.我不认为可以简单地使用FOR循环吗?我在这方面相当新,所以作为一个长镜头,我尝试过&和>为一个FOR循环指定2个参数:
for %x in (*parameter1.asc) & %y in (*parameter2.asc) DO (
simulation.exe parameters.txt parameter1: %x parameter: %y
)
这是不成功的,因为我相信大多数人都可以立即推断出来。
有人可以帮我解决问题吗?我试图尽可能清楚,但如果我的解释不足,请告诉我。
非常感谢!
答案 0 :(得分:1)
我不确定我是否真的理解你的任务......
但你可以嵌套两个for循环
for %x in (*parameter1.asc) DO (
FOR %y in (*parameter2.asc) DO (
simulation.exe parameters.txt parameter1: %x parameter: %y
)
)
在批处理文件中使用百分号时,不要忘记加倍百分号