如何从文件路径名中提取文件名?

时间:2010-10-21 10:32:36

标签: c# .net file-io

我需要将所有文件从源文件夹移动到目标文件夹。如何从文件路径名中轻松提取文件名?

string newPath = "C:\\NewPath";

string[] filePaths = Directory.GetFiles(_configSection.ImportFilePath);
foreach (string filePath in filePaths)
{
  // extract file name and add new path 
  File.Delete(filePath);
}

5 个答案:

答案 0 :(得分:50)

尝试以下方法:

string newPathForFile = Path.Combine(newPath, Path.GetFileName(filePath));

答案 1 :(得分:47)

Path.GetFileName(filePath)

答案 2 :(得分:10)

使用DirectoryInfo和Fileinfo而不是文件和目录,它们提供了更多高级功能。

DirectoryInfo di = 
    new DirectoryInfo("Path");
FileInfo[] files = 
    di.GetFiles("*.*", SearchOption.AllDirectories);

foreach (FileInfo f in files)
    f.MoveTo("newPath");

答案 3 :(得分:5)

您可能想尝试使用FileInfo.MoveTo方法(以下链接中的代码示例):

http://msdn.microsoft.com/en-us/library/system.io.fileinfo.moveto.aspx

答案 4 :(得分:4)

你可以这样做:

string newPath = "C:\\NewPath"; 
string[] filePaths = Directory.GetFiles(_configSection.ImportFilePath);  
foreach (string filePath in filePaths)  
{  
   string newFilePath = Path.Combine(newPath, Path.GetFileName(filePath);
   File.Move(filePath, newFilePath);
}