2008-10-10 13 views

Odpowiedz

13
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; 
} 
9

można spróbować to: iteracyjne w każdym pliku i katalogu:

public void Recurse(DirectoryInfo directory) 
{ 
    foreach (FileInfo fi in directory.GetFiles()) 
    { 
     fi.IsReadOnly = false; // or true 
    } 

    foreach (DirectoryInfo subdir in directory.GetDirectories()) 
    { 
     Recurse(subdir); 
    } 
} 
1

Jeśli chcesz usunąć tylko do odczytu atrybuty używające dopasowywania wzorców (np. wszystkie pliki w folderze z rozszerzeniem .txt) możesz spróbować czegoś takiego:

Directory.EnumerateFiles(path, "*.txt").ToList().ForEach(file => new FileInfo(file).Attributes = FileAttributes.Normal); 
Powiązane problemy