【问题标题】:How do I change the Read-only file attribute for each file in a folder using c#?如何使用 c# 更改文件夹中每个文件的只读文件属性?
【发布时间】:2010-09-16 12:35:43
【问题描述】:

如何使用 c# 更改文件夹中每个文件的只读文件属性?

谢谢

【问题讨论】:

    标签: c#


    【解决方案1】:
    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;
    }
    

    【讨论】:

      【解决方案2】:

      你可以试试这个:迭代每个文件和子目录:

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

      【讨论】:

        【解决方案3】:

        在遍历Directory.GetFiles的循环中使用File.SetAttributes

        【讨论】:

          【解决方案4】:

          如果您想使用模式匹配删除只读属性(例如,文件夹中具有 .txt 扩展名的所有文件),您可以尝试以下操作:

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-10-06
            • 1970-01-01
            • 1970-01-01
            • 2021-12-19
            • 1970-01-01
            相关资源
            最近更新 更多