- ベストアンサー
VBSorバッチファイルにてファイル読み取り属性の一括解除方法。
今回、CDからデータをとりだして(ここでは)c\:testというフォルダに格納する。というプログラムを作りたいのですがCDから取り出すので読み取り属性がついてしまい、上書きをしようとしても失敗してしまいます。フルパスを指定してひとつづつつぶせばいいのですがなんせデータ量が多いのでなにか一括でそのプログラムを使うだけでフォルダー内のファイルの読み取り属性をずばっと解除できればいいのですがなにか方法はありますでしょうか?subfoldersやfilesではその下のフォルダーやc:\testの直下のファイルにしか効果がなく・・・ぜひともよろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Windows NT、2000、XPならattribというコマンドを使ってみたらどうだろうか? C:\test>attrib /D /S -r *.* で、C:\test以下の全サブディレクトリ、全ファイルに対して読み取り属性を解除できる。 VBSを使うならFileSystemObjectsを使う事になるのだろうか。
その他の回答 (1)
- hofuhofu
- ベストアンサー率70% (336/476)
VBSで行うには再帰関数を使うのが便利かと思います。 Function ChangeAttribute(TargetFolder) For Each File In TargetFolder.Files File.Attributes = File.Attributes and not(1) Next For Each Folder In TargetFolder.SubFolders Folder.Attributes = Folder.Attributes and not(1) ChangeAttribute(Folder) '関数内で自分自身を呼び出す Next End Function
お礼
さんこうにさせていただきました。ありがとうございます!
お礼
そんなコマンドがあるとは・・・ありがとうございました。