robocopyでフォルダのタイムスタンプを維持する

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

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

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

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

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

-Windows