-PR-
解決済み

VBSorバッチファイルにてファイル読み取り属性の一括解除方法。

  • すぐに回答を!
  • 質問No.973338
  • 閲覧数177
  • ありがとう数3
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 42% (3/7)

今回、CDからデータをとりだして(ここでは)c\:testというフォルダに格納する。というプログラムを作りたいのですがCDから取り出すので読み取り属性がついてしまい、上書きをしようとしても失敗してしまいます。フルパスを指定してひとつづつつぶせばいいのですがなんせデータ量が多いのでなにか一括でそのプログラムを使うだけでフォルダー内のファイルの読み取り属性をずばっと解除できればいいのですがなにか方法はありますでしょうか?subfoldersやfilesではその下のフォルダーやc:\testの直下のファイルにしか効果がなく・・・ぜひともよろしくお願いします。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル14

ベストアンサー率 65% (1332/2045)

Windows NT、2000、XPならattribというコマンドを使ってみたらどうだろうか?

C:\test>attrib /D /S -r *.*

で、C:\test以下の全サブディレクトリ、全ファイルに対して読み取り属性を解除できる。

VBSを使うならFileSystemObjectsを使う事になるのだろうか。
お礼コメント
jazzstar

お礼率 42% (3/7)

そんなコマンドがあるとは・・・ありがとうございました。
投稿日時 - 2004-08-26 02:14:35

その他の回答 (全1件)

  • 回答No.2
レベル12

ベストアンサー率 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
お礼コメント
jazzstar

お礼率 42% (3/7)

さんこうにさせていただきました。ありがとうございます!
投稿日時 - 2004-08-26 02:13:38


このQ&Aで解決しましたか?
関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-

特集


開業・独立という夢を持つ人へ向けた情報満載!

ピックアップ

-PR-
ページ先頭へ