通过文件路径获取文件名
string fullPath = @"F:\栅格影像带参数投影界面\数据\TestConvert\aaa.tif";
string filename = System.IO.Path.GetFileName(fullPath);//文件名 aaa.tif
string extension = System.IO.Path.GetExtension(fullPath);//扩展名 .tif
string fileNameWithoutExtension =System.IO.Path.GetFileNameWithoutExtension(fullPath);// 没有扩展名的文件名 aaa
将一个文件夹及其里面的所有内容(文件和文件夹)复制到指定路径
(转自:c#将一个文件夹及其里面的所有内容(文件和文件夹)复制到指定路径_爱学习的菜鸡bmy的博客-CSDN博客)
public void copyDir(string srcPath, string aimPath)
{
string srcdir = "";
try
{
if (System.IO.Directory.Exists(srcPath))
{
//如果不存在目标路径,则创建之
if (!System.IO.Directory.Exists(aimPath))
{
System.IO.Directory.CreateDirectory(aimPath);
}
//令目标路径为aimPath\srcPath
srcdir = System.IO.Path.Combine(aimPath, System.IO.Path.GetFileName(srcPath));
//如果源路径是文件夹,则令目标目录为aimPath\srcPath\
if (Directory.Exists(srcPath))
srcdir += Path.DirectorySeparatorChar;
// 如果目标路径不存在,则创建目标路径
if (!System.IO.Directory.Exists(srcdir))
{
System.IO.Directory.CreateDirectory(srcdir);
}
//获取源文件下所有的文件
String[] files = Directory.GetFileSystemEntries(srcPath);
foreach (string element in files)
{
//如果是文件夹,循环
if (Directory.Exists(element))
copyDir(element, srcdir);
else
File.Copy(element, srcdir + Path.GetFileName(element), true);
}
}
}
catch (Exception ex)
{
MessageBox.Show("复制失败");
//File.Delete(srcdir);
}
}
方法二:
/// <summary>
/// 复制文件夹中的所有内容
/// </summary>
/// <param name="sourceDirPath">源文件夹目录</param>
/// <param name="saveDirPath">指定文件夹目录</param>
public void CopyDirectory(string sourceDirPath, string saveDirPath)
{
try
{
if (!Directory.Exists(saveDirPath))
{
Directory.CreateDirectory(saveDirPath);
}
string[] files = Directory.GetFiles(sourceDirPath);
foreach (string file in files)
{
string pFilePath = saveDirPath + "\\" + Path.GetFileName(file);
if (File.Exists(pFilePath))
continue;
File.Copy(file, pFilePath, true);
}
string[] dirs = Directory.GetDirectories(sourceDirPath);
foreach (string dir in dirs)
{
CopyDirectory(dir, saveDirPath + "\\" + Path.GetFileName(dir));
}
}
catch (Exception ex)
{
}
}
删除文件夹及文件夹下文件
/// <summary>
/// 删除目录
/// </summary>
/// <param name="dir">要删除的目录</param>
public static void DeleteFolder(string dir)
{
if (System.IO.Directory.Exists(dir))
{
string[] fileSystemEntries = System.IO.Directory.GetFileSystemEntries(dir);
for (int i = 0; i < fileSystemEntries.Length; i++)
{
string text = fileSystemEntries[i];
if (System.IO.File.Exists(text))
{
System.IO.File.Delete(text);
}
else
{
DeleteFolder(text);
}
}
System.IO.Directory.Delete(dir);
}
}