ラージビッグバナー(970x90)

Windows

【ROBOCOPY】コピー元にドライブを指定するとコピー先が隠しフォルダ・隠しファイルになって表示されない

更新日:

ビッグバナー(piglog)728px

コピー元にドライブを指定すると隠し属性が付与されてエクスプローラから見えなくなる。終了コードでエラー判定して正常終了していたので気づくのに時間がかかった。。。

ただ、コピー自体はできているので、フルパスを指定すれば見える。けど、エクスプローラでアクセスして見えないのは気持ち悪い。

それに、取れてないじゃん、いやドライブごとコピーしてるから隠しz・・・という無駄なやり取りが頭に浮かんだので対処した。

こんな状況でした

まず、日次でバックアップを行っており、タイトルの通り Robocopy コマンドを使っている。

具体的には以下のような感じでコピー先にドライブ名を指定していた。オプションはこの事象には関係ないし長いので割愛。

たとえば、コピー元に

\\172.16.1.10\D$\TEST

というフォルダがあった場合、

E:\BackupDir\HOSTNAME\yyyymmdd\TEST

などとフルパス指定でアクセスすると TEST フォルダ内のファイルが問題なく見える。ただ、

E:\BackupDir\HOSTNAME\yyyymmdd

とアクセスした場合は、何も表示されない。

ということで、隠し属性を取っ払っちゃいましょう。

 

対処

ファイルの属性を設定する attrib というコマンド使います。構文は以下。

attrib [属性(付与・解除)] [ファイル・フォルダパス] [オプション]

隠し属性を解除するには、-H と指定することで解除ができます。付与する場合は、+H になります。実行したところ、、、

システムファイル属性も付与されているようですね。データ用のドライブなんですがお構い無しです。

システムファイル属性を解除するためには、-S と指定することで解除ができます。付与する場合は、+S になります。実行したところ、、、

、、、どうしたらええねん!

調べてみるとMicrosoft社のテックネットに情報がありましたが、一緒に(1回で)実行するようです。実行したところ、

何の反応もありませんが、エクスプローラでアクセスしてみると見えています。無事に2つの属性が解除されたようです。

 

まとめ

ロボコピーでドライブごとコピーすると、コピー先のフォルダやファイルに隠しファイル属性システムファイル属性が付与されてしまうようです。

スクリプトでバックアップをしている場合は、Robocopyコマンドの実行後にコピー先のフォルダに対して、以下のように1行足して隠し属性を解除する必要があります。

 

そもそも、ドライブを指定しないでRobocopyを実行する方法もあります。以下よりどうぞ。

【Robocopy】ドライブを指定せずにドライブをまるごとバックアップする!フォルダ除外も可能!

改めてタイトルをみるとなんのこっちゃという感じですね。 下で説明しますが、備忘録がてらスクリプトを作成したのでメモしておきます。ファイルサーバのデータ移行のときに使い回せるといいなぁ。   ...

続きを見る

↓↓↓ 持っていると便利な一冊。

レクタングル (大)

レクタングル (大)

リンクユニット(レスポンシブ)

-Windows
-, ,

Copyright© ぴぐろぐ , 2018 All Rights Reserved.