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))
{
...;
}