标题: 求助:间隔时间启动一批文件夹下的批处理文件
[打印本页]
作者: qinqong
时间: 2006-9-20 10:49
标题: 求助:间隔时间启动一批文件夹下的批处理文件
我需要启动大约100个文件夹下的批处理程序,文件夹的名字不同,批处理的文件名相同,大约每间隔4,5秒钟就启动一个批处理,文件夹的名字类似以下规则:abc1,abc2,abc3......请各位大虾指点一下怎么写批处理程序。多谢了!
作者: pengfei
时间: 2006-9-20 11:03
不知是否符合楼主的要求.
@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 ]
作者: qinqong
时间: 2006-9-20 11:13
如果文件夹改为abc01,abc02,abc03......abc10,abc11,abc12..........呢?
作者: pengfei
时间: 2006-9-20 11:17
Quote: |
Originally posted by qinqong at 2006-9-20 11:13:
如果文件夹改为abc01,abc02,abc03......abc10,abc11,abc12..........呢? |
|
可以, 但比较麻烦.
作者: namejm
时间: 2006-9-20 11:23
在『第 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 ]
作者: pengfei
时间: 2006-9-20 11:25
呵呵~ 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 ]
作者: qinqong
时间: 2006-9-20 11:29
多谢,批处理好长时间没用,很多东西都忘了,看来还是要经常来这里充充电。
请问setlocal enabledelayedexpansion是什么意思?
[
Last edited by qinqong on 2006-9-20 at 11:33 ]
作者: pengfei
时间: 2006-9-20 11:35
setlocal enabledelayedexpansion是启用延迟的环境变量 ~
[
Last edited by pengfei on 2006-9-20 at 11:38 ]
作者: 3742668
时间: 2006-9-22 01:10
@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秒
作者: vkill
时间: 2006-9-22 07:41
3742668斑竹 用 your.bat 不怎么好吧!
作者: 3742668
时间: 2006-9-22 08:27
Quote: |
『第 10 楼』:
3742668斑竹 用 your.bat 不怎么好吧! |
|
请详述。