Ответ 1
Попробуйте следующее:
string newPathForFile = Path.Combine(newPath, Path.GetFileName(filePath));
Мне нужно переместить все файлы из исходной папки в папку назначения. Как я могу легко извлечь имя файла из имени пути к файлу?
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);
}
Попробуйте следующее:
string newPathForFile = Path.Combine(newPath, Path.GetFileName(filePath));
Path.GetFileName(filePath)
используйте DirectoryInfo и Fileinfo вместо File и Directory, они представляют более сложные функции.
DirectoryInfo di =
new DirectoryInfo("Path");
FileInfo[] files =
di.GetFiles("*.*", SearchOption.AllDirectories);
foreach (FileInfo f in files)
f.MoveTo("newPath");
Возможно, вы захотите попробовать метод FileInfo.MoveTo(пример кода по следующей ссылке):
http://msdn.microsoft.com/en-us/library/system.io.fileinfo.moveto.aspx
Вы можете сделать это следующим образом:
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);
}