Robocopyのアルゴリズムがファイルが変更されたかどうかをどのように判断するかについての詳細情報をここで探しています。たとえば/ mirパラメータを使用する場合、Robocopyは変更されたファイルと変更されていないファイルを判別する必要があります。変更されたタイムスタンプまたはファイルサイズを使用しますか?すべての組み合わせをハッシュしますか?
興味深いことに、ドキュメントにはそれについて何も書かれていません。
OK。これを調査し、ドキュメントを読んで、自分でテストした(すべて同じ結果が得られた)一日を過ごした後、私は答えを見つけました。
簡単な答えは次のとおりです。Robocopyのデフォルト値は(パラメーターを介して別のものを指定しない限り)、TimestampORファイルサイズdiffers。 Robocopyは常にコピー元からコピー先にコピーすることを忘れないでください。したがって、宛先に新しいAND大きいファイルがある場合、Robocopyはソースからの古いファイルと小さいファイルでファイルを上書きします(そのため、Wordの「差分」に重点を置きます-そうではありませんnewerまたは大きい、まったく異なる)。
より深いレベルでは、ファイルの属性が異なる場合でも/ itオプションで確認し、異なるものをコピーできます-ファイルサイズとタイムスタンプが同じであっても(100%の場合、私はそれがわかりません)ファイルまたは欠落している属性のみをコピーしますが、ファイルは同一であるため、結果は同じです)。
私は他のスレッドで引用された長いドキュメントを見つけました-それはバージョンXP010に関するものです(私はそれがWindows XPだったと思います)。しかし、robocopyの新しいドキュメントはありません。ここにドキュメントがあります:
http://theether.net/download/Microsoft/Utilities/robocopy.pdf (「Robocopyファイルクラスの使用」のセクションをお読みください。すべてがかなり正確にレイアウトされています)
ドキュメントは、Robocopyの古いバージョンに関するものです(Win7の下では、通常、バージョンXP027を使用しています)。ただし、このサイトでバージョンの変更を確認できます。概要は非常にわかりやすくなっています。
http://yarcgui.wilkes.es/De/RoboCopy/index.htm
一番下の行はXPとWin7の間でも大きな違いはないことです-マイナーなものだけであり、変更はパラメーターを追加することでした-それらを変更しない(パラメータ/ mirを除く)。そして、比較のメカニズムは変更されていないと言っても差し支えないと思います。これは、パラメータを追加するという非常に小さな変更と比較すると、非常に大きなものになるためです。
これがおそらく新しいドキュメントがない理由です。
あなたが同じ情報を探していて、これを読んでいる場合に役立つことを願っています。正確さを追求し、注意深く研究を行いました。