Board logo

标题: 【求助】如何确定一个目录下的哪些文件被人修改过了 [打印本页]

作者: bluesailer     时间: 2009-7-2 04:51    标题: 【求助】如何确定一个目录下的哪些文件被人修改过了

服务器上有一个文件夹,要求用一个脚本或者批处理命令来检查,哪些文件被人修改过了
请问各大大侠应该如何实现啊?
作者: huahua0919     时间: 2009-7-2 04:58
用可以用VBS的 DateLastModified 属性来判断。
作者: bluesailer     时间: 2009-7-2 05:20
能否给个示例呢?
谢谢
作者: Hanyeguxing     时间: 2009-7-2 05:49
在批处理中:
%~t1 将 %1 扩展到文件日期/时间。 这个时间就是最近修改时间
创建时间可以从dir /a /t:c中看到。


所以,可以根据情况对文件夹内所有文件输出他们的创建或最近修改时间,然后在需要的时候比较。但文件或文件夹的创建时间或修改时间是可以被篡改的,所以这个方法并不太可靠。

更精确的,可以使用md5工具,对所有文件生成md5数值,在需要的时候,比较其md5数值是否发生变化,以判断是否被修改过。当然,网上还有很多专门的文件读写监控软件。。。。

[ Last edited by Hanyeguxing on 2009-7-2 at 05:55 ]
作者: ZJHJ     时间: 2009-7-2 10:46
你可以按修改时间来记录文件作为备份,下次记录的进行对比。
(因为任何文件被修改,必然修改时间及文件大小会被修改)
如果文件比较大,也就是说行数很多的话,难点在二个文件的进行对比。
如果你........实在有困难.....可以借鉴http://www.cn-dos.net/forum/viewthread.php?tid=46354&fpage=1计算机系统维护中的
exe、dll、inf 程序快照比较(检查是否被病毒修改)

[ Last edited by ZJHJ on 2009-7-2 at 11:02 ]
作者: bluewaterx     时间: 2009-7-4 03:38
我用DOS做了一个,探查C盘下所有改动的文件的,用fc命令比对前后两次文件列表

crea old      ↓    cls old      ↓    see a~g       ↓    SYS a~g
创建原始表    ↓    清空原始表   ↓    查看全部结果集↓    查看SYS类型集

crea new      ↓    cls new      ↓    exe a~g       ↓    ... a~g
创建对照表    ↓    清空对照表   ↓    查看EXE类型集 ↓    查看自定义集

fc a~g a~g    ↓    cls result   ↓    dll a~g       ↓    menu
比较结果集    ↓    清空结果集   ↓    查看DLL类型集 ↓    返回主菜单
────────────────────────────────────

[原始表]                       [对照表]                       [结果集]
╭──────────────────────────────────╮
│  [A]----------------------------[ ]----------------------------[ ] │
│  [ ]----------------------------[ ]----------------------------[ ] │
│  [ ]----------------------------[ ]----------------------------[ ] │
│  [ ]----------------------------[ ]----------------------------[ ] │
│  [ ]----------------------------[ ]----------------------------[ ] │
│  [ ]----------------------------[ ]----------------------------[ ] │
│  [ ]----------------------------[ ]----------------------------[ ] │
╰──────────────────────────────────╯
       [最后一次创建原始表的时间: 2009-06-26 星期五 11:54:23.85]


命令: