robocopyコマンドはディレクトリ、ファイルの同期やコピーをしてくれる。ディレクトリ配下を同期したい場合、良く紹介されているオプションは/MIRであり、srcにないファイルの削除も含めて完全同期してくれる。

robocopy C:\src_folder D:\dest_folder /mir

/MIRはその名の通りディレクトリツリーをミラー化してくれる。/E /PURGEを指定したことと同じで、「空のディレクトリを含むサブディレクトリをコピー」し、「既にコピー元に存在しないコピー先のファイル/ディレクトリを削除」する。

しかし、/MIRオプションは一般的な感覚と異なり、ファイルのタイムスタンプは維持してくれるものの、フォルダのタイムスタンプは維持してくれない。
この理由は、/MIR自体にあるのではなく、robocopyの別のオプションのデフォルト値によるもの。
ファイルコピーに関するデフォルトは、robocopy /?によると以下の通りになっており、データ、属性、タイムスタンプがコピーされる。

/COPY:コピーフラグ :: ファイルにコピーする情報 (既定値は /COPY:DAT)。
                      (コピーフラグ: D= データ、A= 属性、T= タイムスタンプ)。
                      (S= セキュリティ =NTFS ACL、O= 所有者情報、U= 監査情報)。

一方、ディレクトリに関するデフォルトは記載されていない。タイムスタンプをコピーしたければ、以下のオプションを付けるようになっている。

/DCOPY:T :: ディレクトリ タイムスタンプをコピーします。

タイムスタンプを含めた完全同期を行いたい場合は、/DCOPY:Tを指定しなければいければいけない。

robocopy C:\src_folder D:\dest_folder /mir /DCOPY:T