我有一个循环的XML文件集合,并将有错误的文件移动到另一个文件位置。但是,当我使用system.io.file.move函数时,它需要我指定文件名而不是移动文件路径。有没有办法可以将文件从一个位置移动到另一个位置,同时保持相同的名称?我目前正在根据数组中文件的位置创建一个名称,这是不可行的。
string ErrorPath = string.Format(@"{1}ErroredXml{0}.xml", errorLength, errorPaths);
//If type equals "add" then call add method else call update
if (Equals(type, typecomp))
{
//pass object to data access layer to add record
value.addNewGamePlay();
if (value.getGamePlayID() == 0)
{
//move to error file
System.IO.File.Move(value.getFile(), ErrorPath);
errorLength++;
}
}
答案 0 :(得分:7)
您可以使用Path.GetFileName
提取原始文件名,并使用Path.Combine
构建目标路径:
var original = value.getFile();
var destinationPath = Path.Combine(errorPaths, Path.GetFileName(original));
答案 1 :(得分:0)
移动方法不需要更改文件名。 第二个参数不是文件的新名称,而是文件的新路径 例如
第一个参数(sourceFileName) @ “C:\ TEMP \ MyTest.txt”
第二个参数(destFileName) @ “C:\ TEMP2 \ MyTest.txt”
所以文件名相同“MyTest.txt”只是位置改变了。