如何连续运行相同的exe文件N次?

时间:2013-11-18 21:47:06

标签: batch-file exe

我有一个exe文件。我想一个接一个地重复运行几次。我试过下面的批处理文件,但无法做到有没有办法做到这一点?抱歉,我是代码编写的新手

@echo off  
start ran.exe
start ran.exe
start ran.exe

1 个答案:

答案 0 :(得分:2)

假设ran.exe位于当前文件夹或路径中,那么您只需编写:

@echo off  
ran
ran
ran

调用它三次。如果在PATH上找不到,请使用如下所示的完全限定名称:

@echo off  
c:\path\to\ran
c:\path\to\ran
c:\path\to\ran

运行程序是在批处理文件的一行上命名它的正常效果。

此外,由于.EXE环境变量中列出了PATHEXT,因此您不需要在名称中包含ran.com,除非自{{.COM之后还有文件名PATHEXT 1}}在.EXE之前的默认值START中列出。

仅在批处理文件中需要START /?1内置命令来处理某些特殊情况。请参阅FOR的输出以获取其文档。通常,您不需要它来启动程序。

更新:要将此概括为N次调用,请使用FOR命令。 FOR /?非常强大,在命令提示符下键入@echo off for /L %%N in (1,1,%1) do c:\path\to\ran %%N 以获取文档。对于指定为批处理文件的参数的N次重复,并将当前计数作为其第一个参数传递给命令,请执行以下操作:

FOR

使用FOR记住的棘手问题是迭代变量必须在批处理文件中以百分号命名。帮助文本说明了这一点,但只是顺便说一句。

更新2:更多细节和解释。

在这种情况下,我们想要重复命令N次。 /L支持各种循环,但获得完全N次迭代的最简单方法是使用其FOR /L %%N (start,step,end)选项,该选项使用起始值,步长和结束值来定义数字迭代。 这些在括号中指定为%1。为了获得1到N的简单计数器,我们告诉它从1开始,逐步开始,并停止批处理文件的第一个参数的值,该文件名为%1

批处理文件本身的参数命名为%9%*CALL /?命名所有参数。请注意,这里存在一个微妙的雷区,涉及正确引用包含空格的文件名。为了让生活变得简单,请尽量不要这样做。否则,SET /?记录命令行参数约定,FOR记录许多与常规批处理文件变量相关的内容。

其他形式的/D允许您遍历文件(无选项),目录(/R),递归地在树中的目录(/F),或者内容的各个部分文件({{1}})。