• 締切済み

robocopyをすると隠し属性フォルダができる

今まで以下のようにしていて大丈夫な状態が続いていました。 robocopy D:\ E:\ /mir それを、以下のように robocopy D:\ E:\BACKUPS /mir バックアップ先にフォルダを指定して、BACKUPS以下にコピーを指定したときに問題が起こりました。 E:\BACKUPS フォルダの属性が強制的に隠しシステム(SとHがある状態)に変更されてしまいます。 バグなのか仕様なのかもわかりません。 E:\BACKUPS 以外のファイル・フォルダは正常です。 回避策としてバッチでコピー後に attrib -H -S E:\BACKUPS としております。 しかし、そうならないようにしたいのです。 また、バグなのか使い方の問題なのかも知りたいのです。 参考までに、 robocopy D:\ E:\BACKUPS\TEST /mir とすると E:\BACKUPS は正常で E:\BACKUPS\TEST のみが隠しシステムになってしまいます。 よろしくお願いします。

みんなの回答

  • 11041104
  • ベストアンサー率28% (6/21)
回答No.3

はじめて、 私も最近robocopyコマンドを使用してみたのですが、 以下URLの記事が参考になるのではないでしょうか。 http://sekirarablog.blogspot.jp/2013/07/robocopyxcopy.html >/XA:SH:ドライブ丸ごとの場合、 >コピー出来ないシステムファイル等がある場合はエラーになるので、                >これを追記することで隠しファイルとシステムファイルを除外するようにします。 とのことです。 参考にされてみてはいかがでしょうか。 私は、 上記URLを参考にして、 ドライブからバックアップ用NAS上ドライブにrobocopyコマンドにてコピーしましたが、 隠しファイル属性のものはコピーされていませんでした。 また、 コピー後も普通に(正常に?)コピー先ドライブにても フォルダが普通に表示されました。

参考URL:
http://sekirarablog.blogspot.jp/2013/07/robocopyxcopy.html
noname#208124
noname#208124
回答No.2

残念ながらこの挙動はバグではありません 完璧な回避方法も思い浮かびません(※1) 実はユーザーからは決して分かりませんがNTFSのルートディレクトリには隠しシステム属性が付いています(※2,3) robocopyはコピー元ディレクトリの属性を忠実にコピー先ディレクトリにコピーしているだけなのです ※1 xcopyなら D:\ E:\BACKUPS を D:\* E:\BACKUPS のようにディレクトリからディレクトリではなくディレクトリ以下からディレクトリにすれば回避できます 元々ディレクトリからディレクトリのコピーのためのrobocopyではこのような指定ができません /A-:SH を指定すればコピー先から隠しシステム属性を消せますがこの動作はコピーしたファイル全てに適用されます ※2 attribコマンドでは確認できません プログラムからのみ確認できます PowerShell なら Get-ItemProperty -Path D:\ | Format-list -Property Attributes とやれば属性を表示できます ※3 そのうえ属性を解除することもできません

  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.1

たぶんrobocopyのバグだと思います。 ↓TechNet フォーラムでの、マイクロソフト社のフォーラムオペレータからの回答。 http://social.technet.microsoft.com/Forums/ja-JP/windowsserver2008ja/thread/eb3bc943-f249-4641-80fb-d378cb91d043/ 私もあきらめてそういうものとして(コピー後にattribすることにして)robocopyを使ってます。

koga2021
質問者

お礼

情報ありがとうございます。 次期サーバーのrobocopyは、この点も動作を設定できるようにバージョンアップしていると助かります。 その為のバージョンアップ料金が高そうですが・・・

関連するQ&A