用start /b 做的一个,不过在某些秒数时,set /a 会出错,因此废掉了2句柄。出现的问题是,有时候会停顿2-3秒。
修改了查找telnet进程无法结束子进程问题,使用AT,需要开启计划服务。
a.bat- @echo off&SETLOCAL ENABLEDELAYEDEXPANSION
- set tm=%time%
- echo 正在查找目录下exe文件个数,请稍后...
- set/p=已经进行了 0秒<nul
- start /b b.bat
- :::::::::::::::::
- dir d:\ /s >nul
- rem 或者你自己的代码
- :::::::::::::::::
-
- at 12:00 /next:28 #exit >nul 2>nul
- ping -n 3 127.1 >nul
- echo;
- echo 查找结束。
- pause>nul
复制代码 b.bat- @echo off&SETLOCAL ENABLEDELAYEDEXPANSION
- cd. 2>nul 3>nul
- for /f "tokens=1-3 delims=:." %%a in ('echo %tm%') do set /a h=%%a,m=%%b,s=%%c
- :loop
- for /f "tokens=1-3 delims=:." %%a in ('echo %time%') do set /a hh=%%a,mm=%%b,ss=%%c
- set /a hd=hh-h,md=mm-m,sd=ss-s
- set /a ts=hd*3600+md*60+sd
- for /l %%i in (0,1,3) do (
- set "py=!ts:~%%i,1!"
- if not {!py!}=={} set /p=<nul
- )
- set/p=<nul
- set/p=%ts%秒<nul
- ping -n 1 127.1>nul
- at |findstr "#" &&(at /del /y & %%b)
- goto :loop
复制代码
[ 本帖最后由 caruko 于 2010-8-8 11:23 编辑 ] |