中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求助:间隔时间启动一批文件夹下的批处理文件
作者:
标题: 求助:间隔时间启动一批文件夹下的批处理文件 上一主题 | 下一主题
qinqong
高级用户




积分 599
发帖 148
注册 2003-10-30
状态 离线
『楼 主』:  求助:间隔时间启动一批文件夹下的批处理文件

我需要启动大约100个文件夹下的批处理程序,文件夹的名字不同,批处理的文件名相同,大约每间隔4,5秒钟就启动一个批处理,文件夹的名字类似以下规则:abc1,abc2,abc3......请各位大虾指点一下怎么写批处理程序。多谢了!

2006-9-20 10:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pengfei
银牌会员




积分 1218
发帖 485
注册 2006-7-21
来自 湖南.娄底
状态 离线
『第 2 楼』:  

不知是否符合楼主的要求.
@echo off
for /l %%i in (1,1,100) do (
    if exist ".\abc%%i\name.bat" (
        ping 127.1 -n 5 >nul 2>nul
        call  ".\abc%%i\name.bat"
    )
)

[ Last edited by pengfei on 2006-9-20 at 11:06 ]

   此帖被 +8 点积分        点击查看详情   




业精于勤而荒于嬉,形成于思而毁于随。
2006-9-20 11:03
查看资料  发送邮件  发短消息 网志  OICQ (573381312)  编辑帖子  回复  引用回复
qinqong
高级用户




积分 599
发帖 148
注册 2003-10-30
状态 离线
『第 3 楼』:  

如果文件夹改为abc01,abc02,abc03......abc10,abc11,abc12..........呢?

2006-9-20 11:13
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pengfei
银牌会员




积分 1218
发帖 485
注册 2006-7-21
来自 湖南.娄底
状态 离线
『第 4 楼』:  



  Quote:
Originally posted by qinqong at 2006-9-20 11:13:
如果文件夹改为abc01,abc02,abc03......abc10,abc11,abc12..........呢?

可以, 但比较麻烦.



业精于勤而荒于嬉,形成于思而毁于随。
2006-9-20 11:17
查看资料  发送邮件  发短消息 网志  OICQ (573381312)  编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 5 楼』:  

  在『第 2 楼』pengfei 代码的基础上稍加修改,得到如下代码,可以试一下,如果还要启动abc100文件夹下的批处理,请自行修改代码:
@echo off
setlocal enabledelayedexpansion
for /l %%i in (1,1,99) do (
    set num=0%%i
    set num=!num:~-2!
    if exist ".\abc!num!\name.bat" (
        ping 127.1 -n 5 >nul 2>nul
        call  ".\abc!num!\name.bat"
    )
)
[ Last edited by namejm on 2006-9-20 at 11:25 ]

   此帖被 +10 点积分         点击查看详情   




尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-9-20 11:23
查看资料  发短消息 网志   编辑帖子  回复  引用回复
pengfei
银牌会员




积分 1218
发帖 485
注册 2006-7-21
来自 湖南.娄底
状态 离线
『第 6 楼』:  

呵呵~  namejm兄已经改好了!

@echo off
setlocal enabledelayedexpansion
for /l %%i in (1,1,108) do (
    set files=%%i
    if %%i LSS 10 set files=0%%i
    if exist ".\abc!files!\name.bat" (
        ping 127.1 -n 5 >nul 2>nul
        call ".\abc!files!\name.bat"
    )
)

[ Last edited by pengfei on 2006-9-21 at 02:31 ]

   此帖被 +10 点积分         点击查看详情   




业精于勤而荒于嬉,形成于思而毁于随。
2006-9-20 11:25
查看资料  发送邮件  发短消息 网志  OICQ (573381312)  编辑帖子  回复  引用回复
qinqong
高级用户




积分 599
发帖 148
注册 2003-10-30
状态 离线
『第 7 楼』:  

多谢,批处理好长时间没用,很多东西都忘了,看来还是要经常来这里充充电。
请问setlocal enabledelayedexpansion是什么意思?

[ Last edited by qinqong on 2006-9-20 at 11:33 ]

2006-9-20 11:29
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
pengfei
银牌会员




积分 1218
发帖 485
注册 2006-7-21
来自 湖南.娄底
状态 离线
『第 8 楼』:  

setlocal enabledelayedexpansion是启用延迟的环境变量 ~

[ Last edited by pengfei on 2006-9-20 at 11:38 ]



业精于勤而荒于嬉,形成于思而毁于随。
2006-9-20 11:35
查看资料  发送邮件  发短消息 网志  OICQ (573381312)  编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 9 楼』:  


@echo off
for /f "delims=" %%i in ('dir /s /a /b your.bat') do call "%%i" & ping 4 -w 4000 -n 1 2>nul 1>nul
执行时间可以更改-w后面的参数,4000表示4秒

2006-9-22 01:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 10 楼』:  

3742668斑竹 用 your.bat 不怎么好吧!

2006-9-22 07:41
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 11 楼』:  



  Quote:
『第 10 楼』:  

3742668斑竹 用 your.bat 不怎么好吧!

请详述。

2006-9-22 08:27
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: