2010-12-06 20 views
1

私は与えられたディレクトリ内のすべてのiniファイルを調べるプログラム(c#.net 2.0)を作成し、見つかったらいくつかの文字列パターンを置き換えようとしました。これらの.iniファイルの一部は読み取り専用であり、膨大な量のファイルがあります。読み取り専用ファイルに書き込む

これを最もうまく処理する方法についてのご意見はありますか?これは、win2k、win2k3 32bit環境で、.net 2.0までインストールされます。

+2

だ場合だけ

File.SetAttributes(filePath, File.GetAttributes(filePath) & ~FileAttributes.ReadOnly); 

が、最初のチェック読み取り専用属性をオフには、あなたがファイルを変更しながら、読み出し専用ビットを削除すると考えることがありますか? – cdhowie

+2

ファイルがOSによって読み取り専用としてマークされている場合、その属性を変更せずにファイルに書き込むことはできません。 – jvanrhyn

+0

おそらくdosコマンド "attr -r c:\ directory \ *。ini"を使うことができたようですが、どうすればC#コードで実装できますか? – cc0

答えて

7

変更readonly属性(あなたが適切な権限を持っている場合にのみこれを行うことができます):

FileInfo myFile = new FileInfo(pathToFile); 
myFile.IsReadOnly = false; 

ファイルは現在書き込み可能である - IsReadOnly財産上のドキュメントを参照してください。

+0

パーフェクト、ちょうど私が探していたもの。ありがとうございました! – cc0

4

そこ

bool isReadOnly = (File.GetAttributes(FilePath) & FileAttributes.ReadOnly) == FileAttributes.ReadOnly; 
+0

ありがとうございます。この方法も見て良かったです。 – cc0

関連する問題