我正在嘗試使用FC來比較文件,但想要將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文件輸出。
你知道,如果被比較的文件是不同的,但同樣大小的就不會有這樣的最後一行,所以你想只同步長度改變的文件?以及如果源文件比相應的遠程文件短?最後一行將被反轉(它總是說「長於」,沒有「短於」)... – aschipfl
還有其他可能的同步:['xcopy'](http://ss64.com/nt /xcopy.html)只能用於複製新文件('/ D')和只有已經存在的文件('/ U'),或者只有具有存檔屬性集('/ M')的文件(系統設置這個只要文件被編輯); ['robocopy'](http://ss64.com/nt/robocopy.html)建立了高級同步選項... – aschipfl
感謝您的洞察力。我不知道如果來源較短,FC的輸出會反轉。 FC也可以基於二進制,ASCII和/或Unicode進行比較;但是如果它可以打開並閱讀它。我會進一步研究xcopy和robocopy,看看它們是否有可能。非常感激! – Sid