ロボコピーはルートフォルダとそのタイムスタンプをコピーしません。サブディレクトリとファイルはすべてコピーされますが(適切なオプションが設定されている場合)、ルートフォルダそのものとそのタイムスタンプや属性もそのままコピーしてほしいと伝えるオプション/引数がないようです。
例えば、C:/Brushes をコピーしたいとします。
ロボコピーはそのサブディレクトリとファイルをコピーしますが、Brushes フォルダ自身とそれに関連する属性やタイムスタンプはコピーしません。
私が何を求めているか分かりますか? これはかなり基本的なことで、ロボコピーにはそのためのオプションがないようです。 以前にもいろいろなフォーラムで質問が出されていますが、私の知る限りでは、誰もこの質問に答えていません。
画像の説明をここに入力してください]1。
ロボコピーは簡単にできるように設計されていないんです。**しかし、方法はあるのです。
ルートフォルダに50個のファイルと40個のフォルダがあるとします。この場合、フォルダXだけが必要です(ただし、日付と時刻のスタンプも必要です)。
ROBOCOPY c:\ d:\ /XF 50 root file names c:\boot.ini c:\bla.txt etc. /XD c:\windows c:\drivers c:\temp etc. /S /E /SEC /DCOPY:T
DCOPY:T は、フォルダのタイムスタンプを保持するように指示します。XFはコピーしないファイル、/XDはコピーしないフォルダーを指定します。ただ、フォルダ c:\X は指定しないでください。
この方法の主な欠点は、ルートにあるすべてのフォルダとファイル名を調査し、それらをすべてここで具体的に呼び出すことです。もし、異なるシステムでこの作業を何度も行うのであれば、スクリプトを作成することができます。
**動作例
robocopy c:\testing c:\abc /XF c:\testingTesting.txt /XD "C:\testingNew Folder (2)" "C:\testingNew Folder (3)" /S /E /SEC /DCOPY:T robocopy c:\testingTesting/XC XD "C:\testingNewFolder /XC
**ルート作業例
robocopy c:\ d:\ /XF c:\Testing.txt /XD "C:\New Folder (2)" "C:\New Folder (3)" /S /E /SEC /DCOPY:T **Root作業例
私のテストはうまくいきました。いくつかのフォルダとサブフォルダを作成し、c:㊧はこの場合のルート、c:㊨は別のドライブのルートです(明らかにこれらは実際にはありませんが、この目的では意味があるはずです)。ルートから欲しいフォルダは "New Folder" という名前でしたが、ご覧の通り /XD では指定しませんでした。また、c:⇄を指定しないと、使用した名前がグローバルになってしまいます。つまり、Testing.txtにc: \testingを指定しないと、コピーされるすべてのサブフォルダから省略される。/SECはファイルのセキュリティとタイムスタンプをすべてコピーします。