
批處理實現文件時間判斷的問題
代碼本身有一個問題:當符合條件的文件和不符合條件的文件都存在的時候,這段代碼會把不符合條件的文件名也送入fenxi子過程。應該怎么調整呢?nclick="copycode($('code0'));">復制代碼
- cd 1aep
- set jobid=
- v:runechox -c 74 %date%%time%孤立TXT處理標志位
- for %%a in (*.txt) do (
- set list=%%a
- timeout -t 2 >nul
- for /f tokens=1,2 delims=:. %%i in (!time!) do (
- if %%i lss 10 (set h=10%%i) else (set h=1%%i)
- if %%j lss 10 (set s=10%%j) else (set s=1%%j)
- set /a sysTime=(!h!-100)*60+(!s!-100)
- )
- for /f tokens=4,5 delims=:-/ %%j in (%%~ta) do (set /a fileTime=(1%%j-100)*60+(1%%k-100))
- set /a dtime=!sysTime!-!fileTime!
- if !dtime! lss 0 (set /a dtime=!dtime:~1!)
- if !dtime! gtr !zhi! (
- echo 系統時間:!sysTime! 文件時間:!fileTime! 間隔:!dtime!發現孤立文件!!list!
- for /f tokens=1,2,* delims== %%a in ('findstr /ibc:num !list!') do (set num=%%b)
- for /f tokens=1,2,* delims== %%a in ('findstr /ibc:lab !list!') do (set aepname=%%b)
- for /f tokens=1,2,3,4,5,6,7,8 delims=%%q in ('findstr /ibc:Path !list!') do (set ppath=%%u)
- for /l %%a in (1,1,!num!) do (
- for /f tokens=1,* delims==%%a in ('findstr /c:JobID%%a %aepath%!list!') do (set jobid=%%b)
- echo AEP文件名:!aepname!訂單號:!ppath! 任務數:!num!
- call :fenxi
- )
- )
- )
- goto 4th

