0

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 ファイル出力を解析する機能が必要です。

4

2 に答える 2

0

(OPに代わって投稿されたソリューション) .

ashipflJosefZのおかげで、ROBOCOPY がまさに私が必要としていたものであることがわかりました。SS64.com には、私が作業するのに最適な例がありました。コードは、ROBOCOPY ページへのリンクとともに以下に示します。

@ECHO OFF
SETLOCAL

SET _source=\\FileServ1\e$\users

SET _dest=\\FileServ2\e$\BackupUsers

SET _what=/COPYALL /B /MIR
:: /COPYALL :: COPY ALL file info
:: /B :: copy files in Backup mode. 
:: /MIR :: MIRror a directory tree 

SET _options=/R:0 /W:0 /LOG:C:\batch\RoboLog.txt /NFL /NDL
:: /R:n :: number of Retries
:: /W:n :: Wait time between retries
:: /LOG :: Output log file
:: /NFL :: No file logging
:: /NDL :: No dir logging

ROBOCOPY %_source% %_dest% %_what% %_options%

http://ss64.com/nt/robocopy.html

于 2016-10-23T19:45:29.423 に答える