2008-10-10 6 views
8

मैं C# का उपयोग कर फ़ोल्डर में प्रत्येक फ़ाइल के लिए केवल-पढ़ने के लिए फ़ाइल विशेषता कैसे बदलूं?मैं C# का उपयोग कर फ़ोल्डर में प्रत्येक फ़ाइल के लिए केवल-पढ़ने के लिए फ़ाइल विशेषता कैसे बदलूं?

धन्यवाद

उत्तर

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

पर एक पाश-बार दोहराना आप इस कोशिश कर सकते हैं में उपयोग File.SetAttributes: प्रत्येक फ़ाइल और उपनिर्देशिका पर पुनरावृति:

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

आप केवल पढ़ने के लिए दूर करने के लिए चाहता है तो पैटर्न मिलान का उपयोग करने वाले गुण (उदाहरण के लिए .txt एक्सटेंशन वाले फ़ोल्डर में सभी फ़ाइलें) आप इस तरह कुछ कोशिश कर सकते हैं:

Directory.EnumerateFiles(path, "*.txt").ToList().ForEach(file => new FileInfo(file).Attributes = FileAttributes.Normal); 
संबंधित मुद्दे

 संबंधित मुद्दे