tfs获取到的代码全部都是只读的,但是有些文件需要读写,项目中这样的文件很多,一个个的修改太麻烦。
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.IO; 6 7 namespace SetFileAttr 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 DirectoryInfo dir = new DirectoryInfo(GetDir()); 14 15 IList<string> fileList = new List<string>(); 16 17 GetFileList(dir, fileList); 18 19 foreach (var item in fileList) 20 { 21 string extension = System.IO.Path.GetExtension(item); 22 23 //设置扩展名为txt xml的只读属性 24 if (extension.ToUpper() == ".txt".ToUpper() || extension.ToUpper() == ".xml".ToUpper()) 25 { 26 27 FileInfo fileInfo = new FileInfo(item); 28 29 //如果为只读,进行设置 30 if (fileInfo.IsReadOnly) 31 { 32 Console.WriteLine(item); 33 fileInfo.IsReadOnly = false; 34 } 35 } 36 37 } 38 Console.WriteLine("处理完成"); 39 Console.ReadKey(); 40 } 41 42 static string GetDir() 43 { 44 return System.Environment.CurrentDirectory; 45 } 46 47 /// <summary> 48 /// 获取指定文件夹及子文件夹下的所有文件 49 /// </summary> 50 /// <param name="diroot"></param> 51 /// <param name="listFile"></param> 52 private static void GetFileList(DirectoryInfo diroot, IList<string> listFile) 53 { 54 foreach (FileInfo fileName in diroot.GetFiles()) 55 { 56 listFile.Add(fileName.FullName); 57 } 58 59 foreach (DirectoryInfo dirSub in diroot.GetDirectories()) 60 { 61 GetFileList(dirSub,listFile); 62 } 63 } 64 } 65 }