コマンドプロンプト

Robocopyでドライブごとコピーでフォルダが見えない場合はファイルの属性を変える

事象

Robocopyでドライブごとバックアップを取得したところ、

コピーは実施されているように見えたのですが、コピー先のフォルダが見えない現象がおきました。

もう少し細かい事象で言うと以下のような状態でした。

  • Robocopyのコマンドは成功している
  • コピー先のフォルダがみえない
  • コピー先の空き容量は減っている
  • エクスプローラーでコピーしたはずのパスに直接アクセスすると見える
  • ドライブごとコピーしなければ当事象は起きなかった

実施したコマンド

robocopy D: E:\D /mir /DCOPY:DAT  /XD "System Volume Information" "$RECYCLE.BIN"

結論

コピー先のファイルの属性を変えてあげる必要がありました。

今回の場合、上記コマンドに加えて、以下コマンドを実行すればファイルが見えるようになりました。

attrib -s -h E:\D

解説

Robocopyはコピー元の属性値ごとコピーする仕様です。

Dドライブには

  • 隠し属性
  • システム属性

がついていたので、そのままコピーした結果、Dフォルダがみえなくなりました。

attribコマンドはファイルまたはフォルダの属性を変えるコマンドです。

  • -s はシステム属性をクリアする
  • -h は隠しファイル属性をクリアする

というオプションなので

attrib -s -h (コピー先)

と指定することで、コピー先のフォルダがみえるようになります。

参考文献

広告




関連記事