判断该路径是文件还是文件夹
1、
// 判断该路径是文件还是文件夹,如果是文件夹 if (File.GetAttributes(path).CompareTo(FileAttributes.Directory) == 0) { //DirectoryInfo dinfo = new DirectoryInfo(path); //dinfo.Delete(true); // 直接删除的方式,不会删除到回收站 Microsoft.VisualBasic.FileIO.FileSystem.DeleteDirectory(path, Microsoft.VisualBasic.FileIO.UIOption.AllDialogs, Microsoft.VisualBasic.FileIO.RecycleOption.SendToRecycleBin, Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing); } else { //FileInfo finfo = new FileInfo(path); //finfo.Delete(); Microsoft.VisualBasic.FileIO.FileSystem.DeleteFile(path, Microsoft.VisualBasic.FileIO.UIOption.AllDialogs, Microsoft.VisualBasic.FileIO.RecycleOption.SendToRecycleBin, Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing); }
2、
/// <summary> /// 文件夹的复制 /// </summary> /// <param sourceDir="string">要复制的原路径</param> /// <param targetDir="string">要复制的目的路径</param> public static void DirectoryCopy(string sourceDirPath, string targetDirPath) { DirectoryInfo sourceDirInfo = new DirectoryInfo(sourceDirPath); try { if (!sourceDirInfo.Exists)//判断所指的文件或文件夹是否存在 { return; } if (!Directory.Exists(targetDirPath)) { Directory.CreateDirectory(targetDirPath); } // 获取文件夹中所有文件和文件夹 FileSystemInfo[] sourceFiles = sourceDirInfo.GetFileSystemInfos(); // 对单个FileSystemInfo进行判断,如果是文件夹则进行递归操作 foreach (FileSystemInfo sourceFileSys in sourceFiles) { FileInfo file = sourceFileSys as FileInfo; if (file != null) // 如果是文件的话,进行文件的复制操作 { file.CopyTo(targetDirPath + "\" + file.Name, true); // 将文件复制到指定的路径中 } else { DirectoryCopy(sourceFileSys.FullName, Path.Combine(targetDirPath, sourceFileSys.Name)); } } } catch (Exception ex) { MessageBox.Show("文件复制异常:" + ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
3、
if (File.Exists(oldFilePath)) { ...; } if (Directory.Exists(oldFilePath)) { ...; }