标题: 批处理中如何准确计算时间差?
[打印本页]
作者: yishanju
时间: 2008-10-27 10:31
标题: 批处理中如何准确计算时间差?
我下面的代码是要判断TEST.LOG 多长时间没有更新
计算时间差的部份不知道如何实现。
@echo off
set M=3
set /a SM=0
set /a SH=0
set /a ft=0
set /a TC=0
SET /A LM=0
echo 当前系统时间:%time%
set /a SM=%time:~3,2%
for /f "delims=" %%i in ('dir /a-d /b test.log') do set FT=%%~ti
echo LOG文件最后修改时间: %ft%
SET /A LM=%ft:~-2%
set /a TC=%SM%-%LM%
ECHO LOG文件已经%TC%分钟没有更新了。
pause
作者: yishanju
时间: 2008-10-27 10:33
直接用set /a 计算时间是会有BUG的
例如:
当前系统时间:19:03:51.98
LOG文件最后修改时间: 2008-10-24 16:51
LOG文件已经-48分钟没有更新了。
作者: yishanju
时间: 2008-10-27 13:14
很难么,怎么都没人理我这贴
作者: yishanju
时间: 2008-10-27 17:26
。。。。。。。
顶
作者: yishanju
时间: 2008-10-27 17:30
如果说算时间差很难,可以换个方法,在处理中判断test.log文件是不是已经超过一定不更新,比如,判断test.log是不是已经超过5分钟没有更新。
作者: yishanju
时间: 2008-10-28 10:38
..........
作者: yishanju
时间: 2008-10-28 16:33
为嘛没人注意
作者: kgdetg1127
时间: 2008-10-28 20:56
我来回一下,我是没看明白。哈哈。
作者: kgdetg1127
时间: 2008-10-28 21:05
我在我的F盘创建一个test.log,这句怎么没有执行成功。
for /f "delims=" %%i in ('dir /a-d /b f:\test.log') do set FT=%%~ti
echo LOG文件最后修改时间: %ft%
set 赋值的是空值
最后ECHO显示空值,???没看明白