将文件移动到另一个文件夹

时间:2014-09-24 20:44:51

标签: c#

我有这个:

File.Move(file, trashFolderPath + "\\" + file);

其中file是某些值,如:

C:\mytest\Images\Hannah, Pow, 199169, 211 Addendum.pdf

和第二个参数都有一个像:

的值
"C:\\mytest\\ImagesNotFound\\C:\\mytest\\Images\\Hannah, Pow, 199169, 211 Addendum.pdf"

但我得到了这个例外:

The given path's format is not supported.

2 个答案:

答案 0 :(得分:4)

您正在使用完整文件名,其中包含完整路径以及Target路径所使用的路径。注意目录字母C:。使用:

Path.GetFileName

File.Move(file, trashFolderPath + "\\" + Path.GetFileName(file));

您也可以使用Path.Combine代替连接路径,例如:

File.Move(file, Path.Combine(trashFolderPath,Path.GetFileName(file)));

答案 1 :(得分:2)

" C:\ mytest \ ImagesNotFound \ C:\ mytest \ Images \ Hannah,Pow,199169,211 Addendum.pdf"不是有效的文件路径。因此,您需要file中的get the file name,然后将其附加到trashFolderPath

File.Move(file, Path.Combine(trashFolderPath, Path.GetFileName(file)); 

使用Path.Combine()组合路径名称。它会自动使用适当的目录分隔符,因此您的代码更具可移植性。