我有一个exe文件。我想一次又一次地重复运行几次。我尝试了下面的批处理文件,但无法做到,有办法做到吗?抱歉,我是代码编写新手
@echo off
start ran.exe
start ran.exe
start ran.exe
最佳答案
假设 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
的默认值中列于 .EXE
之前。
只有在批处理文件中才需要 START
内置命令来处理某些特殊情况。请参阅 START/?1
的输出以获取其文档。一般来说,您不仅仅需要它来启动程序。
更新:要将其概括为 N 次调用,请使用 FOR
命令。 FOR
功能极其强大,在命令提示符处输入 FOR/?
即可获取文档。对于指定为批处理文件参数的 N 次重复,并将当前计数作为其第一个参数传递给命令,请执行以下操作:
@echo off
for /L %%N in (1,1,%1) do c:\path\to\ran %%N
使用 FOR
需要记住的棘手事情是,在批处理文件中迭代变量必须用两个百分号命名。帮助文本中提到了这一点,但只是顺便说一下。
更新 2:更多详细信息和解释。
在本例中,我们想要重复一个命令 N 次。 FOR
支持多种类型的循环,但获得精确 N 次迭代的最简单方法是使用其 /L
选项,该选项使用起始值、步长和定义迭代次数的结束值。
这些在括号中指定,如 FOR/L %%N (start,step,end)
。为了获得 1 到 N 的简单计数器,我们告诉它从 1 开始,步长为 1,并在名为 %1
的批处理文件的第一个参数的值处停止。
批处理文件本身的参数被命名为 %1
到 %9
,并且 %*
命名所有参数。请注意,这里存在一个与正确引用包含空格的文件名相关的巨大微妙雷区。为了让生活变得简单,请努力避免这样做。否则,CALL/?
记录命令行参数约定,SET/?
记录许多与一般批处理文件变量相关的内容。
其他形式的 FOR
让您可以迭代文件(无选项)、目录 (/D
)、在树中递归地目录 (/R
),或文件内容的各个部分(/F
)。
关于batch-file - 如何连续运行同一个exe文件N次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20058624/