中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 批处理中如何准确计算时间差?
作者:
标题: 批处理中如何准确计算时间差? 上一主题 | 下一主题
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『楼 主』:  批处理中如何准确计算时间差?

我下面的代码是要判断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




有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2008-10-27 10:31
查看资料  发短消息 网志   编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 2 楼』:  

直接用set /a 计算时间是会有BUG的

例如:

当前系统时间:19:03:51.98
LOG文件最后修改时间: 2008-10-24 16:51
LOG文件已经-48分钟没有更新了。




有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2008-10-27 10:33
查看资料  发短消息 网志   编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 3 楼』:  

很难么,怎么都没人理我这贴




有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2008-10-27 13:14
查看资料  发短消息 网志   编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 4 楼』:  

。。。。。。。






有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2008-10-27 17:26
查看资料  发短消息 网志   编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 5 楼』:  

如果说算时间差很难,可以换个方法,在处理中判断test.log文件是不是已经超过一定不更新,比如,判断test.log是不是已经超过5分钟没有更新。




有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2008-10-27 17:30
查看资料  发短消息 网志   编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 6 楼』:  

..........




有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2008-10-28 10:38
查看资料  发短消息 网志   编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 7 楼』:  

为嘛没人注意




有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2008-10-28 16:33
查看资料  发短消息 网志   编辑帖子  回复  引用回复
kgdetg1127
初级用户





积分 158
发帖 89
注册 2007-4-25
状态 离线
『第 8 楼』:  

我来回一下,我是没看明白。哈哈。

2008-10-28 20:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
kgdetg1127
初级用户





积分 158
发帖 89
注册 2007-4-25
状态 离线
『第 9 楼』:  

我在我的F盘创建一个test.log,这句怎么没有执行成功。
for /f "delims=" %%i in ('dir /a-d /b f:\test.log') do set FT=%%~ti
echo LOG文件最后修改时间: %ft%
set 赋值的是空值
最后ECHO显示空值,???没看明白

2008-10-28 21:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: