:: 你好, 首先我要跟你说明的是:
:: 您说的打开 100 个, 在进行关闭, 这个是可以做到的
:: 但是关闭了, 就等于关闭了第一个你运行时的脚本程序
:: 也就是说是无法进行关闭100个, 在打开后面的100个
:: 因为批处理的进程是CMD.EXE, 如果关闭, 就都关闭了
:: 您的问题, 这里我们写出了一次性打开指定数量的代码:
@echo off & color e0
SETLOCAL ENABLEDELAYEDEXPANSION
for /l %%a in (1 1 100) do (
start "" "%%a.bat"
)
pause
:: 这段代码中, 我们指定从1开始每次增1一直到100
:: 那么就是一次性打开100个
:: 中国批处理脚本联盟
@echo off
for /f %%z in ('dir *.bat /b') do call :2 %%z
pause
:2
for /f %%a in ('tasklist^|find "cmd.exe" /c') do set /a a=%%a
if %a% equ 99 start /wait %1
if %a% lss 99 start %1
这个要求是第100 200 300的个批处理可以自动关闭
于是用的是start /wait命令
如果不能做到的话
就要重新写了
这个批处理可以做到打开1-100的个批处理
然后第100个被关闭或者是自动执行完毕之后
就运行第101-200的个批处理
依次下去
@echo off
for /f %%z in ('dir *.bat /b') do call :2 %%z
taskkill /im cmd.exe /f
pause
:2
for /f %%a in ('tasklist^|find "cmd.exe" /c') do set /a a=%%a
if %a% equ 100 taskkill /im cmd.exe /f
if %a% lss 101 start %1
这个就可以避开第100 200 300的个不自动关闭的问题
还是你看的这么多个批处理是怎么写的
如果执行一下 就马上关闭批处理的话
对完整度是有影响的