中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 如何判定文件是否被修改过, 上一主题 | 下一主题
huangshuirun
初级用户





积分 65
发帖 61
注册 2009-6-15
状态 离线
『楼 主』:  如何判定文件是否被修改过,

如何判定文件是否被修改过,
我相用批处理定时检查某个记事本文件是否被写入,然后自动打开来.

请高手帮忙.不胜感激.

2010-2-2 20:23
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 2 楼』:  

你准备你什么标准来判断文件是否被写入?



2010-2-2 21:03
查看资料  发短消息 网志   编辑帖子  回复  引用回复
sysplay
初级用户





积分 23
发帖 19
注册 2009-7-10
状态 离线
『第 3 楼』:  


@echo off
setlocal enabledelayedexpansion
for /f "tokens=1,2" %%i in ('dir a.txt^| find "a.txt"') do set "str=%%i%%j"
if not EXIST _a.txt (
        echo !str!>_a.txt
        echo 第一次执行,记录文件修改时间。
) else (
        set /p str2=<_a.txt
        if "!str!"=="!str2!" (
                echo 文件未被修改
        ) else (
                echo 记录的修改时间为!str2!
                echo 实际的修改时间为!str!
                echo 文件已被修改,重新记录修改时间
                echo !str!>_a.txt
        )
)
pause>nul
这个是基于文件的修改时间来确定的。
另外一种方法是,将文件备份一下。之后比较一下就可以了。

2010-2-2 22:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bbsphixy
初级用户




积分 27
发帖 13
注册 2009-9-1
状态 离线
『第 4 楼』:  

方法是有滴:

我提示一下:  批处理实现通过MD5来判断文件内容是否被更改过...

使用此方法非常准确。

也LS说的,只检测修改时间,不是很准确..

[ Last edited by bbsphixy on 2010-2-3 at 11:43 ]

2010-2-3 11:40
查看资料  发短消息 网志   编辑帖子  回复  引用回复
huangshuirun
初级用户





积分 65
发帖 61
注册 2009-6-15
状态 离线
『第 5 楼』:  

楼上确实可以做到.有没有更简单的.

2010-2-7 16:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 6 楼』:  

备份一份

FC /B 命令比较下

看返回值就行了。



S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
2010-2-7 17:05
查看资料  发短消息 网志   编辑帖子  回复  引用回复
radem
高级用户

CMD感染者


积分 691
发帖 383
注册 2008-5-23
状态 离线
『第 7 楼』:  

参考slore兄思路写的(有系统局限):
@echo off
set a=a.txt
set b=b.txt
fc /b %a% %b%|findstr "找不到相异处">nul 2>nul &&echo. %a% 与 %b% 相同&&pause&&exit
echo. %a% 与 %b% 不同
pause




2010-2-7 20:24
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 8 楼』:  

我本意是屏蔽回显(因为可能差距太多)
直接看 errorlevel



S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
2010-2-7 21:29
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bluewing009
新手上路

九影蓝翼



积分 18
发帖 18
注册 2009-11-27
状态 离线
『第 9 楼』:  

方法一:利用md5值+if 语句
方法二:备份文件对比,相关语句
         findstr /x /v /g:1.txt 2.txt>differ.txt

2010-2-7 23:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
huangshuirun
初级用户





积分 65
发帖 61
注册 2009-6-15
状态 离线
『第 10 楼』:  

谢谢各位出手

2010-2-11 00:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: