如果与目标不同,比较2个文件和复制源 - vbscript?

时间:2010-09-23 09:41:45

标签: vbscript windows-shell

我正在使用Windows XP,我需要制作一个可以比较2个文件的脚本(服务器上1个,客户端上1个)。基本上,我需要我的脚本来检查来自客户端的文件是否与服务器版本不同,如果找到差异,则替换客户端版本(在文件本身,而不仅仅是修改日期)。

1 个答案:

答案 0 :(得分:0)

如您所知,您可以跳过日期检查,因为可以在不更改内容的情况下更改日期检查。

首先检查尺寸是否不同。如果是这样,那可能足以得出它们不同的结论。尽管取决于文件类型,但也可能存在误报。例如,unicode文本文件可以包含与ansi文本文件完全相同的内容,但是每个字符可以编码两个字节。如果它是一个脚本,它将以完全相同的结果执行,但是大小的两倍。

如果大小相同,它们可能仍包含不同的字节。蛮力测试是将每个文件加载到一个字符串中,并将它们进行相等性比较。如果它们是大文件而你不想在没有必要的情况下将它们全部读入内存,那么请逐行阅读它们,直到遇到差异为止。这是假设它们是文本文件。如果它们不是文本文件,您可以通过以固定大小的块读取它们并进行比较来执行类似的操作。

另一个选择是在两个文件上运行“fc”file compare命令并捕获结果并根据它进行更新。