ROBOCOPYのオプションには、ディレクトリに対するコピーフラグがあり、次のような感じになっています。
/DCOPY:コピーフラグ…ディレクトリにコピーする情報 (既定値は /DCOPY:DA)
(コピーフラグ: D= データ、A= 属性、T= タイムスタンプ)
なので、タイムスタンプを維持したいときは、/DCOPY:DTとか、/DCOPY:DATとかやると思います。
しかし、いくつかのOSバージョン(XPから10/2018まで)で試してみたところ、このオプション(フラグT)はWin8.xまたはWin2016以降でないと有効に働かないように見えます(他にも細かい不具合があり、8.1以降/2018以降でやっとまともになった感じです)。
ちなみに、大量のフォルダ/ファイルをコピーするときには、/MTで並列度を上げるよりも、
- 管理者権限のDOS窓を複数開く
- スレッド数はある程度抑える(様子を見ながら増減)
- 各窓でマウントするNETBIOS名は変える(注※)
方が、トータルの速度は上がるようです。
注※(実効コピー速度を上げる方法)
例えば、10.0.0.1という共有サーバを
net use x: \\10.0.0.1\share1 ... net use y: \\10.0.0.1\share2 ...
という形でマウントし、X:からY:へコピーをするよりも、C:\Windows\System32\drivers\hosts 内で
# 同じCIFS共有ドライブを複数のNETBIOS名で定義する 10.0.0.1 CIFSx 10.0.0.1 CIFSy
とし、
net use x: \\CIFSx\share1 ... net use y: \\CIFSy\share2 ... robocopy x: y: ...
とした方が、断然速いです。
このshare1からshare2へのコピーの並列度を上げる場合は、C:\Windows\System32\drivers\hosts 内で
10.0.0.1 CIFSx1 10.0.0.1 CIFSx2 10.0.0.1 CIFSx3 10.0.0.1 CIFSy1 10.0.0.1 CIFSy2 10.0.0.1 CIFSy3
のように定義し、
net use j: \\CIFSx1\share1 ... net use k: \\CIFSx2\share1 ... net use l: \\CIFSx3\share1 ... net use m: \\CIFSy1\share2 ... net use n: \\CIFSy2\share2 ... net use o: \\CIFSy3\share2 ...
としてマウントしたあと、管理者権限のDOS窓を開いて
# 窓1で実行 robocopy j:\sub1 m:\sub1 ... # 窓2で実行 robocopy k:\sub2 n:\sub2 ... # 窓3で実行 robocopy l:\sub3 o:\sub3 ...
というようにした方が、速いです。
※窓の数や、各窓内の/MT:nの値は、実環境で何パターンかテストして決めて下さい。