bat如何同时打开20个批处理

2025-01-07 17:50:44
推荐回答(2个)
回答1:

:: 你好, 首先我要跟你说明的是:
:: 您说的打开 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个
 :: 中国批处理脚本联盟

回答2:

  @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的个不自动关闭的问题
还是你看的这么多个批处理是怎么写的
如果执行一下 就马上关闭批处理的话
对完整度是有影响的