¿Cómo cambio el atributo de archivo de solo lectura para cada archivo en una carpeta usando C#?¿Cómo cambio el atributo de archivo de solo lectura para cada archivo en una carpeta usando C#?
Gracias
¿Cómo cambio el atributo de archivo de solo lectura para cada archivo en una carpeta usando C#?¿Cómo cambio el atributo de archivo de solo lectura para cada archivo en una carpeta usando C#?
Gracias
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;
}
Uso File.SetAttributes en una iteración de un bucle sobre Directory.GetFiles
Puede probar esto: iterar sobre cada archivo y subdirectorio:
public void Recurse(DirectoryInfo directory)
{
foreach (FileInfo fi in directory.GetFiles())
{
fi.IsReadOnly = false; // or true
}
foreach (DirectoryInfo subdir in directory.GetDirectories())
{
Recurse(subdir);
}
}
Si desea quitar el sólo lectura atributos usando la coincidencia de patrones (por ejemplo, todos los archivos en la carpeta con una extensión .txt) podría intentar algo como esto:
Directory.EnumerateFiles(path, "*.txt").ToList().ForEach(file => new FileInfo(file).Attributes = FileAttributes.Normal);