【发布时间】:2016-10-19 20:05:53
【问题描述】:
我正在尝试使用 FC 来比较文件,但想获取 FC 命令的输出,将其解析出来,并声明变量以将源文件复制到不匹配的远程文件上,基本上是同步的。
我的代码非常简单,因为 fc 可以满足我的所有需求:
@echo off
set source=C:\source\
set remote=C:\remote\
fc /b %source%\*.* %remote%\*.*
文件不同时的 fc 输出示例:
00000000 47 55
00000001 44 48
00000002 55 61
FC: C:\source\test.txt longer than C:\remote\test.txt
最后一行是我想要的,我想用文件路径解析并使用它们来声明要在中使用的变量
xcopy %sourcefile% %remotefile%
这需要能够解析多个 fc 文件输出。
【问题讨论】:
-
您知道如果比较的文件不同但大小相同,则不会有最后一行,所以您只想同步长度变化的文件吗?如果源文件比相应的远程文件短怎么办?最后一行将被反转(它总是说“长于”,没有“短于”)......
-
感谢您的洞察力。我不知道如果源较短,FC 的输出会反转。 FC 还可以基于二进制、ASCII 和/或 Unicode 进行比较;但前提是它可以打开并阅读它。我将进一步研究 xcopy 和 robocopy,看看这些是否是可能的途径。非常感谢!
标签: batch-file file-comparison