2011-10-01 6 views
1

나는 꽤 잘 작동하는 배치 파일을 가지고 있습니다. 원래는 1 분 이내의 파일을 검색하도록 설정했습니다. 나는 더 아래로 가서 15 초 오래된 파일을 검색해야합니다. 나는 충분히 빨리 그것을 바란다, 나는 나중에 그것을 조정해야 할 수도있다. 어쨌든 누구든지 초 범위까지 내려 줄 수 있습니다. 고맙습니다. 귀하의 도움을 주시면 감사하겠습니다.초 단위로 검색

@echo off 
cd "C:\Users\DS\Downloads" 
setlocal 
call :DateToMinutes %date:~-4% %date:~-10,2% %date:~-7,2% %time:~0,2% %time:~3,2% NowMins 

set flag=0 
for /f "delims=" %%a in ('dir *.jpg *.zip *.txt /a-d /b') do call :CheckMins "%%a" "%%~ta" 

if %flag% EQU 1 ( 
msg * "Good-Bye!" 
) 
set flag=0 
goto :EOF 

:CheckMins 
set File=%1 
set TimeStamp=%2 
call :DateToMinutes %timestamp:~7,4% %timestamp:~1,2% %timestamp:~4,2% %timestamp:~12,2% %timestamp:~15,2%%timestamp:~18,1% FileMins 
set /a MinsOld=%NowMins%-%FileMins% 
if %MinsOld% leq 1 del %file% 
if %MinsOld% leq 1 set flag=1 
goto :EOF 

:DateToMinutes 
setlocal 
set yy=%1&set mm=%2&set dd=%3&set hh=%4&set nn=%5 
if 1%yy% LSS 200 if 1%yy% LSS 170 (set yy=20%yy%) else (set yy=19%yy%) 
set /a dd=100%dd%%%100,mm=100%mm%%%100 
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2 
set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633 
if 1%hh% LSS 20 set hh=0%hh% 
if /i {%nn:~2,1%} EQU {p} if "%hh%" NEQ "12" set hh=1%hh%&set/a hh-=88 
if /i {%nn:~2,1%} EQU {a} if "%hh%" EQU "12" set hh=00 
if /i {%nn:~2,1%} GEQ {a} set nn=%nn:~0,2% 
set /a hh=100%hh%%%100,nn=100%nn%%%100,j=j*1440+hh*60+nn 
endlocal&set %6=%j%&goto :EOF 
+0

줄 번호는 필요하지 않지만 편집기에서는 줄 바꿈되지만 실제 내용에는 적용되지 않습니다. –

+0

감사합니다. 크리스. –

+0

45 초 동안 기다린 다음 검색을 실행하십시오. –

답변

0

초를 얻는 간단한 일괄 처리 방법을 알지 못했지만 WMIC을 통해 가져올 수 있습니다.

WMIC DATAFILE WHERE Name="C:\\windows\\DirectX.log" GET lastmodified,Lastaccessed 

출력 형식이 약간 이상하지만 작동해야합니다.

관련 문제