中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » [求助][讨论]有没有高手可以在纯dos下做到这个功能?
« [1] [2] [3] »
作者:
标题: [求助][讨论]有没有高手可以在纯dos下做到这个功能? 上一主题 | 下一主题
peiliqin
初级用户





积分 34
发帖 16
注册 2008-7-24
状态 离线
『楼 主』:  [求助][讨论]有没有高手可以在纯dos下做到这个功能?

有没有高手可以在纯dos下做到这个功能?

SMARTDRV.EXE
if exist a:\jieguo.txt del a:\jieguo.txt
md5 -c n:\tools\cfcsys.txt >a:\jieguo.txt
for /f "tokens=2" %%W in (d:\fix\cfcsys.txt) do if /i "%%W" NEQ "OK" goto end
pause
exit

:end
command.com /c n:\gamemenu\system\fix.bat >nul
pause

n:\tools\cfcsys.txt 文件实际存在。
不管用什么方法,什么软件,谁能实现这个要求?向高手求救了。!!!!!!

补充:cfcsys.txt的内容(只是范例)
\89fe32de8587b0dfd76efce00396eb56 *c:\\windows\\NOTEPAD.EXE
\82b8373ed12a602820108f6154bf0c4c *c:\\windows\\explorer.exe
\b313c22a27d1d8677cdec778346d817e *c:\\windows\\regedit.exe
\65a70ec4649499399b50ac75d911a501 *c:\\windows\\system32\\Rundll32.exe
\9cabf264ce1177cafbbba4b910a44c79 *c:\\windows\\system32\\Services.exe
\06955b9a1ce9f54be0193030ef0a6e0e *c:\\windows\\system32\\Winlogon.exe
\722a247acb86960a708528120759266d *c:\\windows\\system32\\cmd.exe
\3502114e4cb83e491a80fc361c1dc7b7 *c:\\windows\\system32\\csrss.exe

jieguo.txt的内容
c:\windows\NOTEPAD.EXE: OK
c:\windows\explorer.exe: OK
c:\windows\regedit.exe: OK
c:\windows\system32\Rundll32.exe: OK
c:\windows\system32\Services.exe: OK
c:\windows\system32\Winlogon.exe: OK
c:\windows\system32\cmd.exe: OK
c:\windows\system32\csrss.exe: OK

[ Last edited by peiliqin on 2008-7-29 at 12:12 AM ]

2008-7-27 02:31
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
peiliqin
初级用户





积分 34
发帖 16
注册 2008-7-24
状态 离线
『第 2 楼』:  

用其他的方法,变通一下,或者有没有其他的dos软件可以做到?

2008-7-27 21:24
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
peiliqin
初级用户





积分 34
发帖 16
注册 2008-7-24
状态 离线
『第 3 楼』:  

用其他的方法,变通一下,或者有没有其他的dos软件可以做到? 怎么没有人回答啊?

2008-7-28 00:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
peiliqin
初级用户





积分 34
发帖 16
注册 2008-7-24
状态 离线
『第 4 楼』:  

听说,dos下有个awk可以做到,可是看不懂,搞的一头雾水。请教awk高手帮帮忙了啊。

2008-7-28 00:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
DOSforever
金牌会员





积分 4639
发帖 2239
注册 2005-1-30
状态 离线
『第 5 楼』:  

我不知道 d:\fix\cfcsys.txt 文件具体的内容是什么,按照你原来的意思,只要有一行中的第二个字不是 "OK" 的话就 goto end ,也就是每一行都要有 "OK" 字样,简单点的话用 find /v 配合 errorleverl 来判断。还有,为什么要用 command/c ?



DOS倒下了,但永远不死
DOS NEVER DIES !

投票调查:
http://www.cn-dos.net/forum/viewthread.php?tid=46187

本人尚未解决的疑难问题:
http://www.cn-dos.net/forum/viewthread.php?tid=15135
http://www.cn-dos.net/forum/viewthread.php?tid=47663
http://www.cn-dos.net/forum/viewthread.php?tid=48747
2008-7-28 00:41
查看资料  发短消息 网志   编辑帖子  回复  引用回复
quya
高级用户

五星老土


积分 558
发帖 172
注册 2003-2-9
来自 江苏
状态 离线
『第 6 楼』:  

看他的程序,可以猜到 CFCSYS.txt 的内容是 MD5 码 校验的结果, 只要有一个文件不通过, 就运行 FIX.BAT,  FIX.BAT想必就是对没通过校验的文件进行修复之类的工作。

怎么做,我不知道,等其他人吧。

DOS因为有了FOR才变得丰富多彩,纯DOS下就那么几个命令,无法取巧,除非用第三方程序。



我怎么找不到一个比我注册日期早的人? 难道我是传说中的超级管理员? 其实我只是个潜水冠军而已.
2008-7-28 19:53
查看资料  发短消息 网志   编辑帖子  回复  引用回复
DOSforever
金牌会员





积分 4639
发帖 2239
注册 2005-1-30
状态 离线
『第 7 楼』:  

看看好像很简单,没什么复杂的。问题是他的 a:\jieguo.txt 好像和 d:\fix\cfcsys.txt 没什么关系,他为什么不去验证 a:\jieguo.txt 中的 OK ,而去找 d:\fix\cfcsys.txt 中的 OK ?



DOS倒下了,但永远不死
DOS NEVER DIES !

投票调查:
http://www.cn-dos.net/forum/viewthread.php?tid=46187

本人尚未解决的疑难问题:
http://www.cn-dos.net/forum/viewthread.php?tid=15135
http://www.cn-dos.net/forum/viewthread.php?tid=47663
http://www.cn-dos.net/forum/viewthread.php?tid=48747
2008-7-28 21:17
查看资料  发短消息 网志   编辑帖子  回复  引用回复
peiliqin
初级用户





积分 34
发帖 16
注册 2008-7-24
状态 离线
『第 8 楼』:  



  Quote:
Originally posted by quya at 2008-7-28 07:53 PM:
看他的程序,可以猜到 CFCSYS.txt 的内容是 MD5 码 校验的结果, 只要有一个文件不通过, 就运行 FIX.BAT,  FIX.BAT想必就是对没通过校验的文件进行修复之 ...

cfcsys.txt是标准文件,jieguo.txt是个根据cfcsys.txt生成的临时文件。

2008-7-29 00:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 9 楼』:  

可用截取每行最后两位字符,若不等于OK,就修复的方法。
strings就可以。



Windows 一键还原
http://www.yjhy.com
2008-7-29 07:45
查看资料  发短消息 网志   编辑帖子  回复  引用回复
peiliqin
初级用户





积分 34
发帖 16
注册 2008-7-24
状态 离线
『第 10 楼』:  



  Quote:
Originally posted by DOSforever at 2008-7-28 12:41 AM:
我不知道 d:\fix\cfcsys.txt 文件具体的内容是什么,按照你原来的意思,只要有一行中的第二个字不是 "OK" 的话就 goto end ,也就是每一行都要有 & ...

试了一下,当文件内容有改变的时候,总是不能确定errorlevel的值。无法进行跳转。

2008-7-29 07:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
peiliqin
初级用户





积分 34
发帖 16
注册 2008-7-24
状态 离线
『第 11 楼』:  



  Quote:
Originally posted by lianjiang2004 at 2008-7-29 07:45 AM:
可用截取每行最后两位字符,若不等于OK,就修复的方法。
strings就可以。

我也看这个参数了,就是不知道怎么取 strings的值。能不能给个确切的例子?

2008-7-29 08:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
DOSforever
金牌会员





积分 4639
发帖 2239
注册 2005-1-30
状态 离线
『第 12 楼』:  



  Quote:
Originally posted by peiliqin at 2008-7-29 07:59:

试了一下,当文件内容有改变的时候,总是不能确定errorlevel的值。无法进行跳转。

我的理解是你只要有一个不是 OK,就 goto 。find/v 如果找到了一个不是 OK 的,就返回退出码0,如果没找到就返回1,说明都是 OK 。为什么“总是不能确定errorlevel的值”?



DOS倒下了,但永远不死
DOS NEVER DIES !

投票调查:
http://www.cn-dos.net/forum/viewthread.php?tid=46187

本人尚未解决的疑难问题:
http://www.cn-dos.net/forum/viewthread.php?tid=15135
http://www.cn-dos.net/forum/viewthread.php?tid=47663
http://www.cn-dos.net/forum/viewthread.php?tid=48747
2008-7-29 09:56
查看资料  发短消息 网志   编辑帖子  回复  引用回复
qzwqzw
银牌会员

天的白色影子


积分 2343
发帖 636
注册 2004-3-6
状态 离线
『第 13 楼』:  

使用 command /c 是想屏掉 fix.bat 的输出
但是仍然不明白 d:\fix\cfcsys.txt 与 n:\tools\cfcsys.txt 是什么关系
按照12楼的思路给个最简化的原型代码
可以参考一下
find /v /i "OK" <d:\fix\cfcsys.txt>nul
if errorlevel 1 exit
command.com /c n:\gamemenu\system\fix.bat >nul


2008-7-29 20:18
查看资料  发短消息 网志   编辑帖子  回复  引用回复
peiliqin
初级用户





积分 34
发帖 16
注册 2008-7-24
状态 离线
『第 14 楼』:  

我的理解是你只要有一个不是 OK,就 goto 。find/v 如果找到了一个不是 OK 的,就返回退出码0,如果没找到就返回1,说明都是 OK 。为什么“总是不能确定errorlevel的值”?

我测试了,1跟0的效果一样。2的时候就完全是另外一个效果了。我可以在windows下的cmd查看上一个命令的返回码,但是在纯dos下,不知道怎么看。

2008-7-29 21:34
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
DOSforever
金牌会员





积分 4639
发帖 2239
注册 2005-1-30
状态 离线
『第 15 楼』:  

你把你试的语句贴出来



DOS倒下了,但永远不死
DOS NEVER DIES !

投票调查:
http://www.cn-dos.net/forum/viewthread.php?tid=46187

本人尚未解决的疑难问题:
http://www.cn-dos.net/forum/viewthread.php?tid=15135
http://www.cn-dos.net/forum/viewthread.php?tid=47663
http://www.cn-dos.net/forum/viewthread.php?tid=48747
2008-7-29 21:39
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] [3] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: