楼 主
求助:间隔时间启动一批文件夹下的批处理文件
发表于 2006-09-20 10:49 · 中国 上海 浦东新区 电信
高级用户
★★
积分 599 发帖 148 注册 2003-10-30 00:00 22年会员 UID 12192 性别 男
状态 离线
我需要启动大约100个文件夹下的批处理程序,文件夹的名字不同,批处理的文件名相同,大约每间隔4,5秒钟就启动一个批处理,文件夹的名字类似以下规则:abc1,abc2,abc3......请各位大虾指点一下怎么写批处理程序。多谢了!
第 2 楼
发表于 2006-09-20 11:03 · 中国 湖南 娄底 新化县 电信
银牌会员
★★★
积分 1,218 发帖 485 注册 2006-07-21 21:24 20年会员 UID 58987 来自 湖南.娄底
状态 离线
不知是否符合楼主的要求.
@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 ]
业精于勤而荒于嬉,形成于思而毁于随。
第 3 楼
发表于 2006-09-20 11:13 · 中国 上海 浦东新区 电信
高级用户
★★
积分 599 发帖 148 注册 2003-10-30 00:00 22年会员 UID 12192 性别 男
状态 离线
如果文件夹改为abc01,abc02,abc03......abc10,abc11,abc12..........呢?
第 4 楼
发表于 2006-09-20 11:17 · 中国 湖南 娄底 新化县 电信
银牌会员
★★★
积分 1,218 发帖 485 注册 2006-07-21 21:24 20年会员 UID 58987 来自 湖南.娄底
状态 离线
Originally posted by qinqong at 2006-9-20 11:13:
如果文件夹改为abc01,abc02,abc03......abc10,abc11,abc12..........呢?
可以, 但比较麻烦.
业精于勤而荒于嬉,形成于思而毁于随。
第 5 楼
发表于 2006-09-20 11:23 · 中国 广东 佛山 广东睿江科技有限公司
荣誉版主
★★★★
batch fan
积分 5,226 发帖 1,737 注册 2006-03-10 00:38 20年会员 UID 51697 来自 成都
状态 离线
在『第 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 ]
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
第 6 楼
发表于 2006-09-20 11:25 · 中国 湖南 娄底 新化县 电信
银牌会员
★★★
积分 1,218 发帖 485 注册 2006-07-21 21:24 20年会员 UID 58987 来自 湖南.娄底
状态 离线
呵呵~ 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 ]
业精于勤而荒于嬉,形成于思而毁于随。
第 7 楼
发表于 2006-09-20 11:29 · 中国 上海 浦东新区 电信
高级用户
★★
积分 599 发帖 148 注册 2003-10-30 00:00 22年会员 UID 12192 性别 男
状态 离线
多谢,批处理好长时间没用,很多东西都忘了,看来还是要经常来这里充充电。
请问setlocal enabledelayedexpansion是什么意思?
[ Last edited by qinqong on 2006-9-20 at 11:33 ]
第 8 楼
发表于 2006-09-20 11:35 · 中国 湖南 娄底 新化县 电信
银牌会员
★★★
积分 1,218 发帖 485 注册 2006-07-21 21:24 20年会员 UID 58987 来自 湖南.娄底
状态 离线
setlocal enabledelayedexpansion是启用延迟的环境变量 ~
[ Last edited by pengfei on 2006-9-20 at 11:38 ]
业精于勤而荒于嬉,形成于思而毁于随。
第 9 楼
发表于 2006-09-22 01:10 · 中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013 发帖 718 注册 2006-02-18 07:07 20年会员 UID 50550
状态 离线
@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秒
第 10 楼
发表于 2006-09-22 07:41 · 中国 甘肃 张掖 电信
金牌会员
★★★★
积分 4,103 发帖 1,744 注册 2006-01-20 13:00 20年会员 UID 49241 性别 男 来自 甘肃.临泽
状态 离线
3742668斑竹 用 your.bat 不怎么好吧!
第 11 楼
发表于 2006-09-22 08:27 · 中国 湖北 荆门 电信
荣誉版主
★★★
积分 2,013 发帖 718 注册 2006-02-18 07:07 20年会员 UID 50550
状态 离线
『第 10 楼』:
3742668斑竹 用 your.bat 不怎么好吧!
请详述。
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正