![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-10 04:48 |
共 47,811 主题排行 / 349,897 发帖 / 今日 2 篇 / 48,255 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 批处理中如何准确计算时间差? |
| 可打印版本 1,030 / 8 |
| 第1楼 yishanju | 发表于 2008-10-27 10:31 |
| 银牌会员 发帖 1,357 积分 1,488 | |
|
批处理中如何准确计算时间差? 我下面的代码是要判断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 |
|
| 第2楼 yishanju | 发表于 2008-10-27 10:33 |
| 银牌会员 发帖 1,357 积分 1,488 | |
|
直接用set /a 计算时间是会有BUG的
例如: 当前系统时间:19:03:51.98 LOG文件最后修改时间: 2008-10-24 16:51 LOG文件已经-48分钟没有更新了。 |
|
| 第3楼 yishanju | 发表于 2008-10-27 13:14 |
| 银牌会员 发帖 1,357 积分 1,488 | |
|
很难么,怎么都没人理我这贴
|
|
| 第4楼 yishanju | 发表于 2008-10-27 17:26 |
| 银牌会员 发帖 1,357 积分 1,488 | |
|
。。。。。。。
顶 |
|
| 第5楼 yishanju | 发表于 2008-10-27 17:30 |
| 银牌会员 发帖 1,357 积分 1,488 | |
|
如果说算时间差很难,可以换个方法,在处理中判断test.log文件是不是已经超过一定不更新,比如,判断test.log是不是已经超过5分钟没有更新。
|
|
| 第6楼 yishanju | 发表于 2008-10-28 10:38 |
| 银牌会员 发帖 1,357 积分 1,488 | |
|
..........
|
|
| 第7楼 yishanju | 发表于 2008-10-28 16:33 |
| 银牌会员 发帖 1,357 积分 1,488 | |
|
为嘛没人注意
|
|
| 第8楼 kgdetg1127 | 发表于 2008-10-28 20:56 |
| 初级用户 发帖 89 积分 158 | |
|
我来回一下,我是没看明白。哈哈。
|
|
| 第9楼 kgdetg1127 | 发表于 2008-10-28 21:05 |
| 初级用户 发帖 89 积分 158 | |
|
我在我的F盘创建一个test.log,这句怎么没有执行成功。
for /f "delims=" %%i in ('dir /a-d /b f:\test.log') do set FT=%%~ti echo LOG文件最后修改时间: %ft% set 赋值的是空值 最后ECHO显示空值,???没看明白 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |