Как изменить атрибут файла только для чтения для каждого файла в папке с помощью C#?Как изменить атрибут файла только для чтения для каждого файла в папке с помощью C#?
Благодаря
Как изменить атрибут файла только для чтения для каждого файла в папке с помощью C#?Как изменить атрибут файла только для чтения для каждого файла в папке с помощью C#?
Благодаря
foreach (string fileName in System.IO.Directory.GetFiles(path))
{
System.IO.FileInfo fileInfo = new System.IO.FileInfo(fileName);
fileInfo.Attributes |= System.IO.FileAttributes.ReadOnly;
// or
fileInfo.IsReadOnly = true;
}
Использование File.SetAttributes в итерации огибать Directory.GetFiles
Вы можете попробовать это: итерацию по каждому файлу и поддиректории:
public void Recurse(DirectoryInfo directory)
{
foreach (FileInfo fi in directory.GetFiles())
{
fi.IsReadOnly = false; // or true
}
foreach (DirectoryInfo subdir in directory.GetDirectories())
{
Recurse(subdir);
}
}
Если вы хотите, чтобы удалить ReadOnly атрибуты с использованием сопоставления с образцом (например, все файлы в папке с расширением .txt), вы можете попробовать что-то вроде этого:
Directory.EnumerateFiles(path, "*.txt").ToList().ForEach(file => new FileInfo(file).Attributes = FileAttributes.Normal);