批處理bat判斷一個(gè)文件在最近5分鐘內(nèi)是否被更新過(guò)的代碼
問(wèn)題背景描述:
檢測(cè)程式查看一個(gè)X.log的文本里的時(shí)間,類似2008-11-1 12:00:00 這樣的格式,因?yàn)閘og當(dāng)中每3分鐘會(huì)刷新一次,所以時(shí)間也會(huì)變,現(xiàn)在我的思路是用程式抓到的最新也就是最大的時(shí)間和系統(tǒng)時(shí)間做比對(duì),超過(guò)5分鐘,則說(shuō)明系統(tǒng)的log已經(jīng)沒(méi)有再生成(系統(tǒng)已經(jīng)死了),然后確認(rèn)死了之后,在連接上Oracle的一個(gè)DB,把一些欄位的資料 insert into 到一張用來(lái)發(fā)送alarm mail的table當(dāng)中去。不知道bat文檔能否實(shí)現(xiàn)。
@echo off
set SrcFile=D:/a.txt
for /f "skip=5 tokens=1-2 delims= " %%a in ('dir /tw "%SrcFile%"') do (
set "FileDay=%%a %%b"
goto :compare
)
:compare
call :DateToMins %FileDay:~0,4% %FileDay:~5,2% %FileDay:~8,2% %FileDay:~11,2% %FileDay:~14,3% mFileDay
call :DateToMins %date:~4,4% %date:~9,2% %date:~12,2% %time:~0,2% %time:~3,2% mToday
set /a mMinus=mToday-mFileDay
if %mMinus% gtr 5 (
echo "The system is down"
) else (
echo "The system is running"
)
pause
goto :eof
:DateToMins %yy% %mm% %dd% %hh% %mm% result
setlocal ENABLEEXTENSIONS
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 {%nn:~2,1%} EQU {p} if "%hh%" NEQ "12" set hh=1%hh%&set/a hh-=88
if {%nn:~2,1%} EQU {a} if "%hh%" EQU "12" set hh=00
if {%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
相關(guān)文章
全盤(pán)搜索指定文件并拷貝到指定位置[自動(dòng)重命名]的批處理
全盤(pán)搜索指定文件并拷貝到指定位置[自動(dòng)重命名]的批處理2009-12-12批處理命令 BAT備份MySQL數(shù)據(jù)庫(kù)
MySQL數(shù)據(jù)的備份工具也許有很多,在這我要給大家分享一下通過(guò)DOS批處理命令和MySQL、WinRAR命令來(lái)進(jìn)行備份工作。2009-07-07原創(chuàng)批處理之網(wǎng)站屏蔽與解除屏蔽批處理
非常不錯(cuò)的用批處理實(shí)現(xiàn)的網(wǎng)站屏蔽和解除網(wǎng)站屏蔽的代碼2008-07-07如何讓“>”顯示出來(lái)批處理(dos)中的轉(zhuǎn)義符號(hào)
如何讓“>”顯示出來(lái)批處理(dos)中的轉(zhuǎn)義符號(hào)...2007-02-02用批處理實(shí)現(xiàn)的反應(yīng)速度測(cè)試工具
當(dāng)窗口變成紅色的時(shí)候,迅速按下回車(chē)鍵,程序?qū)y(cè)試你的反應(yīng)速度并顯示出來(lái),精確度為0.01秒Johnny.R的反應(yīng)速度為0.11秒,看你能否超越他看平均反應(yīng)速度請(qǐng)按2012-05-05dos里執(zhí)行tracert命令只有一跳的原因及解決方法
一直以來(lái),我在家電腦DOS里執(zhí)行Tracert命令時(shí)都只看到只有一跳的返回結(jié)果,令我非常不解。我原以為是電信運(yùn)營(yíng)商那邊的問(wèn)題,所以也就一直沒(méi)去追究是什么真正的原因2013-03-03