У меня есть папка с некоторыми папками в ней и некоторыми файлами в этих папках. Так получилось, что эти файлы могут быть только для чтения, что для меня неприемлемо.
Вопрос в том, должен ли я написать код, который будет рекурсивно сбрасываться только для чтения для всех файлов? Это не сложно написать, но есть ли какой-нибудь стандартный способ .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;
}
}
}