/// <summary> /// 提取指定类型的文件,排除指定属性 /// </summary> /// <param name="newFolder"></param> /// <param name="type"></param> public void extractFileByType(String newFolder, String type, FileAttributes fileAttr, FileAttributes dirAttr) { DirectoryInfo newDir = new DirectoryInfo(newFolder); if (newDir.Exists && !newDir.FullName.ToLower().Equals(dir.FullName.ToLower())) { FileInfo[] files = newDir.GetFiles(); for (int i = 0; i < files.Length; i++) { if ((files[i].Attributes & fileAttr) == 0) { FileFunction fileFunc = new FileFunction(files[i]); if (fileFunc.FileExtName.ToLower().Equals(type.ToLower())) { fileFunc.MoveTo(dir.FullName); } } } DirectoryInfo[] dirs = newDir.GetDirectories(); for (int i = 0; i < dirs.Length; i++) { if ((dirs[i].Attributes & dirAttr) == 0) { DirectoryFunction dirFunc = new DirectoryFunction(dir); dirFunc.extractFileByType(dirs[i].FullName, type, fileAttr, dirAttr); } } } }
/// <summary> /// 批量移动文件,排除属性 /// </summary> /// <param name="newFolder"></param> /// <param name="attr"></param> public void batchMoveTo(String newFolder, FileAttributes attr) { DirectoryInfo newDir = new DirectoryInfo(newFolder); if (newDir.Exists) { if (!newDir.FullName.ToLower().Equals(dir.FullName.ToLower())) { for (int i = 0; i < childFiles.Length; i++) { if ((childFiles[i].Attributes & attr) == 0) { FileFunction file = new FileFunction(childFiles[i]); file.MoveTo(newDir.FullName); } } } } }