中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-11 03:35
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » [已结]检测系统存活的程式
可打印版本  4,050 / 49
第16楼 HAT 发表于 2008-11-23 14:14
版主 发帖 5,017 积分 9,023
Re 15楼
正确
可以把多余的代码删除了:
echo %Today%
echo %FileDay%
echo %MinusD%
echo %MinusT%
第17楼 win007 发表于 2008-11-24 17:07
初级用户 发帖 44 积分 45
@echo off
set SrcFile=D:\a.txt
set SrcPath=%SrcFile:\=\\%
set Today=
set FileDay=
set MinusD=
set MinusT=
for /f "tokens=2 delims==" %%a in ('wmic path win32_operatingsystem get LocalDateTime

/value') do (
set Today=%%a
)
for /f "tokens=2 delims==" %%a in ('wmic path CIM_logicalfile where name^="%SrcPath%"

get LastModified /value') do (
set FileDay=%%a
)
set /a MinusD=%Today:~0,8%-%FileDay:~0,8%
set /a MinusT=1%Today:~8,4%-1%FileDay:~8,4%
if %MinusD% leq 0 (
if %MinusT% gtr 5 (
echo "the system has been down"
) else (
echo "the system is running"
)
) else (
echo "the system has been down"
)
pause


结果如下:
‘wmic' 不是内部命令和外部命令,也不是可以运行的程序
或批处理文件。
‘wmic' 不是内部命令和外部命令,也不是可以运行的程序
或批处理文件。
无效数字。数字常数只能是十进制<17>,十六进制<0x11>或
八进制<021>。
运算符不存在。
"the system is running"
请按任意键继续...


不知道是不是环境问题,测试不通过,事实上system已经死了

[ Last edited by win007 on 2008-11-24 at 17:09 ]
第18楼 HAT 发表于 2008-11-24 17:15
版主 发帖 5,017 积分 9,023
Re 17楼
操作系统的具体版本是什么?精简版的系统?
开始,运行,cmd,wmic,结果如何?
第19楼 win007 发表于 2008-11-24 17:21
初级用户 发帖 44 积分 45
操作系统是 windows2000
运行cmd -->wmic
结果如下
wmic' 不是内部命令和外部命令,也不是可以运行的程序
或批处理文件。
第20楼 HAT 发表于 2008-11-24 18:03
版主 发帖 5,017 积分 9,023
Re 19楼
Win2k系统没有wmic,你可以换一种方案,通过对%date%和%time%变量进行截取。你先自己尝试一下吧,遇到具体再问。
第21楼 win007 发表于 2008-11-24 20:33
初级用户 发帖 44 积分 45
斑竹能不能给个sample啊
因为学了没有几天,我对bat中变量还不会运用,确实比较急。

[ Last edited by win007 on 2008-11-24 at 20:40 ]
第22楼 HAT 发表于 2008-11-24 20:57
版主 发帖 5,017 积分 9,023
分别运行下面两条命令,把结果贴出来看看:
echo %date% %time%
dir /tw
第23楼 win007 发表于 2008-11-25 09:26
初级用户 发帖 44 积分 45
echo %date% %time% > 1.txt
结果如下:
星期二 2008/11/25 8:56:28.38

dir /tw > 2.txt
结果如下:
驱动器 D 中的卷是 program
卷的序列号是 68A2-D7A9

d:\Documents and Settings\cy_pjhuang\桌面 的目录

2008/11/25 08:57a <DIR> .
2008/11/25 08:57a <DIR> ..
2008/11/25 08:56a 32 1.txt
2008/11/25 08:57a 0 2.txt
2008/11/24 04:31p 7,222,784 chart information to zq.xls
2008/11/20 01:52p 30,720 chartmaintain.xls
2008/11/25 08:45a 429 CIM Desktop.LNK
2008/11/21 11:40a 66,402 CMD命令速查手册.htm
2008/11/19 05:27p 1,835 CMD查询手册.bat
2008/09/11 03:10p 537 group by.txt
2008/11/19 01:45p 27,648 issue.xls
2008/11/24 02:34p 1,488 monitor+sql1.bat
2008/11/24 04:36p 671 monitor.bat
2008/11/21 10:34a 843 send mail.txt
2008/09/08 02:28p 601 Terminal Services Client.lnk
2008/10/31 04:15p 23,040 TF PVD SPC CHART 2008.10.30.xls
2008/11/11 01:15p 18,432 TF PVD SPC CHART for IT 08.11.03.xls
2006/06/08 10:04a 656,896 TSnap.exe
2008/07/29 12:56p 519 Windows Media Player.lnk
2008/11/18 03:13p 1,674,240 分类资讯.xls
2008/08/08 01:29p 539 快捷方式 MSTSC.EXE.lnk
2008/08/08 01:35p 509 快捷方式 plsqldev.exe.lnk
2008/08/06 04:05p 405 快捷方式 ReportView.exe.lnk
2008/11/19 11:17a 405 快捷方式 SPCChartor.exe.lnk
2008/08/06 02:24p 383 快捷方式 Tmgui.exe.lnk
2008/08/21 03:35p 598 快捷方式 Welcome57.pdf.lnk
2008/11/25 08:57a 23 新建 文本文档.bat
25 个文件 9,729,979 字节
2 个目录 36,331,675,648 可用字节
第24楼 HAT 发表于 2008-11-25 10:02
版主 发帖 5,017 积分 9,023
dir命令的结果,是用a和p来表示上午、下午的。请把系统时间改成下午,再运行一遍echo %date% %time%,把结果贴出来看看。
第25楼 win007 发表于 2008-11-25 10:18
初级用户 发帖 44 积分 45
时间改成下午9:53后
执行
echo %date% %time%
结果如下:
星期二 2008/11/25 21:53:54.40
第26楼 HAT 发表于 2008-11-25 11:17
版主 发帖 5,017 积分 9,023
本帖中我提供的方法在理论上来说都是错误的,都可能发生误判,建议不要使用。
第27楼 win007 发表于 2008-11-25 11:32
初级用户 发帖 44 积分 45
测试过了
只要手动 更新a.txt,显示The system is running
就算手动调整系统时间往后移时间,都显示The system is running,不会出现The sysytem is down
第28楼 HAT 发表于 2008-11-25 15:42
版主 发帖 5,017 积分 9,023
使用了 Ritchie Lawrence 的日期时间转换算法
第29楼 win007 发表于 2008-11-25 16:59
初级用户 发帖 44 积分 45
刚刚测试过

结果如下:
FileDay: 2008 11 25 04 35p mFileDay
FileDay2Minutes: 20460515
无效数字。数字常数只能是十进制(17),十六位进制(0x11)或
八进制(021)。
无效数字。数字常数只能是十进制(17),十六位进制(0x11)或
八进制(021)。
Today: ~4,4mydate:~9,2mydate:~12,2mydate:~15,2mydate:~18,2 mToday
Today2Minutes:
Minus: -20460515
"The system is running"
请按任意键继续 . . .
第30楼 HAT 发表于 2008-11-25 17:30
版主 发帖 5,017 积分 9,023
下午工作比较忙,太粗心了。
上一页  1 2 3 4  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023