中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-07-06 08:35
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请问:100个bat文件,如何每次10个打开? 查看 756 回复 8
楼 主 请问:100个bat文件,如何每次10个打开? 发表于 2008-10-06 18:41 ·  中国 广东 揭阳 电信
初级用户
积分 30
发帖 13
注册 2008-10-05 13:04
17年会员
UID 127493
性别 男
状态 离线
假设我的bat文件夹里有100个bat文件,文件名字无规律,想要一次打开10个,一直打开10次,怎么实现呢?

麻烦大家了。
2 发表于 2008-10-06 18:55 ·  中国 江西 赣州 电信
银牌会员
★★★★
积分 2,025
发帖 1,122
注册 2007-09-05 20:15
18年会员
UID 96653
性别 男
状态 离线
那是什么意思?打开 10 个后,提示“请按任意键继续. . .”?
3 发表于 2008-10-06 19:04 ·  中国 广东 揭阳 电信
初级用户
积分 30
发帖 13
注册 2008-10-05 13:04
17年会员
UID 127493
性别 男
状态 离线
就是每次打开10个 cmd窗口。

这个cmd窗口执行完毕他本身的命令后就自己退出了。然后继续打开下一个。

因为电脑配置不好。所以不想100个一起执行。。
4 发表于 2008-10-06 20:12 ·  中国 江西 赣州 电信
银牌会员
★★★★
积分 2,025
发帖 1,122
注册 2007-09-05 20:15
18年会员
UID 96653
性别 男
状态 离线
貌似执行 start "" "test.bat",test.bat 执行完后不会关闭...
5 发表于 2008-10-06 21:16 ·  美国 惠普HP
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
这样能满足要求么?
@echo off
for %%a in ("C:\test\*.bat") do (
start /wait "" "%%a"
)
6 发表于 2008-10-06 22:21 ·  中国 福建 漳州 联通
中级用户
★★
积分 228
发帖 125
注册 2008-08-25 19:17
17年会员
UID 124135
性别 男
状态 离线

@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 ]
7 发表于 2008-10-07 09:28 ·  中国 广东 揭阳 普宁市 电信
初级用户
积分 30
发帖 13
注册 2008-10-05 13:04
17年会员
UID 127493
性别 男
状态 离线
感谢楼上的各位热心人士。我去试下。非常感谢
8 发表于 2008-10-07 09:37 ·  中国 广东 揭阳 普宁市 电信
初级用户
积分 30
发帖 13
注册 2008-10-05 13:04
17年会员
UID 127493
性别 男
状态 离线
for /f %%a in ('dir "g:\chuli" ^|findstr "个文件"') do set wjs=%%a

for /f "tokens=*" %%i in ('dir /b g:\chuli\*.txt') do (

有没办法用相对路径呢。呵呵。这样的话貌似比较麻烦。

HAT版主的方法好像不行,运行后出现一闪一闪的东西。
9 发表于 2008-10-07 12:18 ·  中国 福建 漳州 联通
中级用户
★★
积分 228
发帖 125
注册 2008-08-25 19:17
17年会员
UID 124135
性别 男
状态 离线
你把运行的这个批处理放在你的100个批处理文件的上层目录.就可以直接使用相对路径...不然的话也是要指定路径的..
例如你的100个批处理放在 g:\chuli这个文件夹下.
那么你这个启动100个批处理的文件最好别放在同个目录,会比较麻烦,如若放在上层目录也就是g:\盘下,那么直接把上面的代码改成
dir /b "chuli\*.bat"
就可以的啊。?
或者你可以定义一个变量
set xx=g:\chuli\
然后直接引用这个变量为路径..如若路径有更改直接更改这个变量也就可以了嘛,
论坛跳转: