中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请问:100个bat文件,如何每次10个打开?
作者:
标题: 请问:100个bat文件,如何每次10个打开? 上一主题 | 下一主题
i9420
初级用户





积分 30
发帖 13
注册 2008-10-5
状态 离线
『楼 主』:  请问:100个bat文件,如何每次10个打开?

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

麻烦大家了。

2008-10-6 18:41
查看资料  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『第 2 楼』:  

那是什么意思?打开 10 个后,提示“请按任意键继续. . .”?

2008-10-6 18:55
查看资料  发短消息 网志   编辑帖子  回复  引用回复
i9420
初级用户





积分 30
发帖 13
注册 2008-10-5
状态 离线
『第 3 楼』:  

就是每次打开10个 cmd窗口。

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

因为电脑配置不好。所以不想100个一起执行。。

2008-10-6 19:04
查看资料  发短消息 网志   编辑帖子  回复  引用回复
tireless
银牌会员





积分 2025
发帖 1122
注册 2007-9-5
状态 离线
『第 4 楼』:  

貌似执行 start "" "test.bat",test.bat 执行完后不会关闭...

2008-10-6 20:12
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 5 楼』:  

这样能满足要求么?
@echo off
for %%a in ("C:\test\*.bat") do (
  start /wait "" "%%a"
)




2008-10-6 21:16
查看资料  发短消息 网志   编辑帖子  回复  引用回复
hackate
中级用户





积分 228
发帖 125
注册 2008-8-25
状态 离线
『第 6 楼』:  


@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 ]

2008-10-6 22:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
i9420
初级用户





积分 30
发帖 13
注册 2008-10-5
状态 离线
『第 7 楼』:  

感谢楼上的各位热心人士。我去试下。非常感谢

2008-10-7 09:28
查看资料  发短消息 网志   编辑帖子  回复  引用回复
i9420
初级用户





积分 30
发帖 13
注册 2008-10-5
状态 离线
『第 8 楼』:  

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

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

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

HAT版主的方法好像不行,运行后出现一闪一闪的东西。

2008-10-7 09:37
查看资料  发短消息 网志   编辑帖子  回复  引用回复
hackate
中级用户





积分 228
发帖 125
注册 2008-8-25
状态 离线
『第 9 楼』:  

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

2008-10-7 12:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: