その中にいくつかのフォルダーがあり、それらのフォルダーにいくつかのファイルがあるフォルダーがあります。たまたま、それらのファイルが読み取り専用である可能性があり、これは私には受け入れられません。
問題は、すべてのファイルで読み取り専用の設定を再帰的に解除するコードを作成する必要があるかどうかです。書くのは難しくありませんが、それを行う標準的な .NET の方法はありますか?
私の現在の解決策:
private static void SetReadOnly( string path, bool readOnly )
{
foreach ( string directory in Directory.GetDirectories( path ) )
{
DirectoryInfo di = new DirectoryInfo( directory );
if ( readOnly )
{
di.Attributes &= FileAttributes.ReadOnly;
}
else
{
di.Attributes ^= FileAttributes.ReadOnly;
}
SetReadOnly( directory, readOnly );
}
foreach ( string file in Directory.GetFiles( path ) )
{
FileInfo fi = new FileInfo( file );
if ( readOnly )
{
fi.Attributes &= FileAttributes.ReadOnly;
}
else
{
fi.Attributes ^= FileAttributes.ReadOnly;
}
}
}