dポイントプレゼントキャンペーン実施中!

今まで以下のようにしていて大丈夫な状態が続いていました。
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 のみが隠しシステムになってしまいます。

よろしくお願いします。

A 回答 (3件)

はじめて、


私も最近robocopyコマンドを使用してみたのですが、

以下URLの記事が参考になるのではないでしょうか。

http://sekirarablog.blogspot.jp/2013/07/robocopy …


>/XA:SH:ドライブ丸ごとの場合、
>コピー出来ないシステムファイル等がある場合はエラーになるので、               
>これを追記することで隠しファイルとシステムファイルを除外するようにします。

とのことです。

参考にされてみてはいかがでしょうか。

私は、
上記URLを参考にして、
ドライブからバックアップ用NAS上ドライブにrobocopyコマンドにてコピーしましたが、
隠しファイル属性のものはコピーされていませんでした。

また、
コピー後も普通に(正常に?)コピー先ドライブにても
フォルダが普通に表示されました。

参考URL:http://sekirarablog.blogspot.jp/2013/07/robocopy …
    • good
    • 0

残念ながらこの挙動はバグではありません


完璧な回避方法も思い浮かびません(※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
そのうえ属性を解除することもできません
    • good
    • 0

たぶんrobocopyのバグだと思います。


↓TechNet フォーラムでの、マイクロソフト社のフォーラムオペレータからの回答。
http://social.technet.microsoft.com/Forums/ja-JP …

私もあきらめてそういうものとして(コピー後にattribすることにして)robocopyを使ってます。
    • good
    • 0
この回答へのお礼

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

お礼日時:2012/02/26 01:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!