Board logo

标题: 请问:100个bat文件,如何每次10个打开? [打印本页]

作者: i9420     时间: 2008-10-6 18:41    标题: 请问:100个bat文件,如何每次10个打开?

假设我的bat文件夹里有100个bat文件,文件名字无规律,想要一次打开10个,一直打开10次,怎么实现呢? 麻烦大家了。

作者: tireless     时间: 2008-10-6 18:55
那是什么意思?打开 10 个后,提示“请按任意键继续. . .”?

作者: i9420     时间: 2008-10-6 19:04
就是每次打开10个 cmd窗口。 这个cmd窗口执行完毕他本身的命令后就自己退出了。然后继续打开下一个。 因为电脑配置不好。所以不想100个一起执行。。

作者: tireless     时间: 2008-10-6 20:12
貌似执行 start "" "test.bat",test.bat 执行完后不会关闭...

作者: HAT     时间: 2008-10-6 21:16
这样能满足要求么?
@echo off
for %%a in ("C:\test\*.bat") do (
  start /wait "" "%%a"
)

作者: hackate     时间: 2008-10-6 22:21
@echo off
setlocal enabledelayedexpansion
set wjcount=0
set beishu=0

for /f %%a in ('dir "g:\chuli" ^|findstr "个文件"') do set wjs=%%a

set /a yu=%wjs%%%10
set /a bei=%wjs%/10

for /f "tokens=*" %%i in ('dir /b g:\chuli\*.txt') do (
	set /a wjcount+=1
	set _!wjcount!=%%i
	if !wjcount! equ 10 (
           set /a beishu+=1
	   set wjcount=0
	   for /l %%a in (1,1,10) do (start g:\chuli\!_%%a!)
	   ping -n 5 127.0.1>nul 2>nul
	)
        if !beishu! equ %bei% (
  	   if %yu% equ 0 goto :eof
	   if !wjcount! equ %yu% (
           	for /l %%b in (1,1,%yu%) do (start g:\chuli\!_%%b!)
	   )
	)
)
pause
这样就可以啦.呵呵,比较麻烦哈 [ Last edited by hackate on 2008-10-6 at 22:24 ]

作者: i9420     时间: 2008-10-7 09:28
感谢楼上的各位热心人士。我去试下。非常感谢

作者: i9420     时间: 2008-10-7 09:37
for /f %%a in ('dir "g:\chuli" ^|findstr "个文件"') do set wjs=%%a for /f "tokens=*" %%i in ('dir /b g:\chuli\*.txt') do ( 有没办法用相对路径呢。呵呵。这样的话貌似比较麻烦。 HAT版主的方法好像不行,运行后出现一闪一闪的东西。

作者: hackate     时间: 2008-10-7 12:18
你把运行的这个批处理放在你的100个批处理文件的上层目录.就可以直接使用相对路径...不然的话也是要指定路径的.. 例如你的100个批处理放在 g:\chuli这个文件夹下. 那么你这个启动100个批处理的文件最好别放在同个目录,会比较麻烦,如若放在上层目录也就是g:\盘下,那么直接把上面的代码改成 dir /b "chuli\*.bat" 就可以的啊。? 或者你可以定义一个变量 set xx=g:\chuli\ 然后直接引用这个变量为路径..如若路径有更改直接更改这个变量也就可以了嘛,