![]() |
中国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 |