Batch file 如何连续N次运行同一个exe文件?

Batch file 如何连续N次运行同一个exe文件?,batch-file,exe,Batch File,Exe,我有一个exe文件。我想一个接一个地重复运行几次。我试过下面的批处理文件,但做不到有办法吗?对不起,我是一名代码编写新手 @echo off start ran.exe start ran.exe start ran.exe 假设ran.exe位于当前文件夹或路径中,则只需编写: @echo off ran ran ran 调用它三次。如果在路径上找不到该名称,请使用以下完全限定名称: @echo off c:\path\to\ran c:\path\to\ran c:\path

我有一个exe文件。我想一个接一个地重复运行几次。我试过下面的批处理文件,但做不到有办法吗?对不起,我是一名代码编写新手

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

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

@echo off  
ran
ran
ran
调用它三次。如果在
路径
上找不到该名称,请使用以下完全限定名称:

@echo off  
c:\path\to\ran
c:\path\to\ran
c:\path\to\ran
运行程序是在批处理文件的一行上命名程序的正常效果

此外,由于
.EXE
列在
PATHEXT
环境变量中,因此不需要将其包含在名称中,除非还有一个文件名
ran.com
,因为
.com
列在
PATHEXT
之前的默认值中

START
内置命令仅在批处理文件中用于处理某些特殊情况。有关文档,请参见
START/?1
的输出。一般来说,启动程序并不需要它

更新:若要将其推广到N次调用,请使用
FOR
命令
FOR
功能非常强大,请在命令提示下键入
FOR/?
以获取文档。For N repeats指定为批处理文件的参数,并将当前计数作为其第一个参数传递给命令,执行以下操作:

@echo off  
for /L %%N in (1,1,%1) do c:\path\to\ran %%N
使用
FOR
时需要记住的一件棘手的事情是,迭代变量必须在批处理文件中用2%的符号命名。帮助文本是这样说的,但只是顺便说一句

更新2:更多细节和解释

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

批处理文件本身的参数命名为
%1
%9
,并且
%*
命名所有参数。请注意,这里有一个巨大的雷区,与正确引用包含空格的文件名有关。为了让生活简单,尽量不去做。否则,
CALL/?
将记录命令行参数惯例,
SET/?
将记录与常规批处理文件变量相关的许多内容


其他形式的
FOR
允许您迭代文件(无选项)、目录(
/D
)、递归树中的目录(
/R
)或文件内容的各个部分(
/F

“做不到”是什么意思?这将在三个单独的窗口中运行程序三次。如果要连续而不是同时运行,请删除
start
。如果你还有什么不明白的,请解释清楚。对不起。正如你所说,它工作得非常好。它同时运行了3次。我想运行它而不是等待它停止,然后再次运行它并等待它停止,继续N次。我如何连续运行N次?你能解释一下/L和(1,1,%1)是什么意思吗?好的,我知道我做什么,但(1,1,%1)呢?请参阅进一步的更新。(开始、步骤、结束)。通过写(5,-1,1)从5数到1。我使用了批次的参数作为最终条件。非常感谢您的回复。这很有帮助。尽管如此,我还是无法实现正确的工作。我想我犯了一个错误,但我看不出来。无论如何,非常感谢