web-dev-qa-db-ja.com

ファイルパス名からファイル名を抽出する方法は?

すべてのファイルをソースフォルダーから宛先フォルダーに移動する必要があります。ファイルパス名からファイル名を簡単に抽出するにはどうすればよいですか?

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);
}
26
Captain Comic
Path.GetFileName(filePath)
47
TalentTuner

ファイルとディレクトリの代わりにDirectoryInfoとFileinfoを使用すると、より高度な機能が提供されます。

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

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

FileInfo.MoveToメソッドを試してください(次のリンクのコード例):

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

5
dhirschl

次のようにできます:

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