批处理bat判断一个文件在最近5分钟内是否被更新过的代码

所属分类: 脚本专栏 / DOS/BAT 阅读数: 252
收藏 0 赞 0 分享

问题背景描述:

检测程式查看一个X.log的文本里的时间,类似2008-11-1 12:00:00 这样的格式,因为log当中每3分钟会刷新一次,所以时间也会变,现在我的思路是用程式抓到的最新也就是最大的时间和系统时间做比对,超过5分钟,则说明系统的log已经没有再生成(系统已经死了),然后确认死了之后,在连接上Oracle的一个DB,把一些栏位的资料 insert into 到一张用来发送alarm mail的table当中去。不知道bat文档能否实现。

复制代码 代码如下:

@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

更多精彩内容其他人还在看

sxs.exe的查杀bat代码

在每个盘根目录下自动生成sxs.exe,autorun.inf文件,有的还在windows\system32下生成SVOHOST.exe 或 sxs.exe ,文件属性为隐含属性。自动禁用杀毒软件,这篇文章主要是介绍批处理查杀病毒的一些技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

判断分区格式的bat代码

判断分区格式的bat代码,需要的朋友可以参考下
收藏 0 赞 0 分享

Bat脚本处理ftp超强案例分析

公司有几百台windows服务器,每次程序更新,如果是一台台拷数据,只怕安排十个人,一天都不一定做得完,所以就必须研究个全自动更新方案来,于是就想到了FTP,做个主FTP站,在几百台客户机上启动BAT脚本,每30秒检测一次,如果主站有更新程序,就自动下载更新
收藏 0 赞 0 分享

cmd命令行大全 dos命令 cmd命令整理

cmd命令行大全 dos命令 cmd命令,方便学习cmd的朋友,大家可以通过Ctrl+F查找定位
收藏 0 赞 0 分享

利用 bat 文件制作 HOSTS 快速切换器

在平时每天需要切换好几次 HOSTS 文件,那有什么办法可以简化这个操作
收藏 0 赞 0 分享

批量安装windows补丁的批处理脚本

其实就是通过for命令实现批量安装,大家只要熟练使用for命令就可以节约很多时间
收藏 0 赞 0 分享

在CMD下读取服务器终端的端口的代码

这个批处理可以用来查看服务器远程终端的端口,不过是16进制的
收藏 0 赞 0 分享

Windows批量添加防火墙例外端口的批处理代码

有时候我们需要添加很多端口到防火墙例外,如果一个一个手工添加很累,那么就可以利用下面的方法
收藏 0 赞 0 分享

bat定时自动关机,bat自动结束任务关闭程序,dos自动结束程序后关机

bat定时自动关机,bat自动结束任务关闭程序,dos自动结束程序后关机的命令介绍
收藏 0 赞 0 分享

复制文件到c盘windows文件夹下的system32的批处理写法

三个文件复制到c盘windows文件夹下的system32文件夹 批处理怎么写?本文提供解决方法,需要的朋友可以了解下
收藏 0 赞 0 分享
查看更多