我有一个bat文件,我必须快速点击以使其打开很多,但我想这样做,所以我只需点击一次就会打开50次。
答案 0 :(得分:0)
最简单的方法是通过命令行调用for /L
循环内的脚本。
for /L %A in (1,1,50) do start "" cmd /c script.bat
您还可以使用相同的代码编写包装器脚本(尽管将%A
更改为%%A
)。
如果出于某种原因这是不可接受的,您还可以跟踪使用临时文件打开脚本的次数。
@echo off
setlocal enabledelayedexpansion
set SCRIPT_INSTANCES=50
:: Create a temporary file if one doesn't already exist
if not exist script_count.txt >script_count.txt echo(%SCRIPT_INSTANCES%
:: Read in the value of the config file
set /p script_counter=<script_count.txt
:: If the value of script_counter is greater than 1, decrement it and start again
if %script_counter% gtr 1 (
set /a script_counter-=1
>script_count.txt echo(!script_counter!
start "" cmd /c "%~0"
) else (
del script_count.txt
)
:: THE REST OF YOUR CODE GOES UNDER THIS LINE
答案 1 :(得分:0)
@echo off
setlocal
set /a "times=%~1 -1"
if %times% gtr 0 for /L %%a in (1,1,%times%) do start "" cmd /c "%~0"
pause
要运行的预期语法:
thisbatchname instancesequired
例如,如果以参数3启动批处理,times
将成为2,for/L
由于额外的实例没有参数,因此times
将设置为-1
,因此不会创建额外的实例。
当然,用所需的一系列批处理命令替换pause
。