移动文件时出现异常

时间:2015-09-25 15:17:23

标签: c# file move

嘿,我最近一直试图将文件从一个文件夹移动到另一个文件夹,但错误不断出现。 创建了loacation和destination文件夹,location只有很少的.txt文件

这是我尝试过的:

string path = @"C:\TESTmove\path";
string path2 = @"C:\TESTmove\destiny";

if (Directory.Exists (path)) 
{
    foreach (string filename in Directory.GetFiles(path)) 
    {
        File.Move (filename, path2);
        //Console.WriteLine (filename);
    }
}
else
{
    Console.WriteLine("Wrong place");
}

我收到了这个错误:

  

当该文件已存在时无法创建文件。

2 个答案:

答案 0 :(得分:0)

您正在创建名为"命运"的相同文件。在目录路径" C:\ TESTmove"。 (这不是你想要的,但这基本上就是你发布的代码将会发生的事情。)

而是在将文件移动到新位置时包含文件名。

File.Move(filename, Path.Combine(path2, Path.GetFileName(filename)));

答案 1 :(得分:0)

您的代码错了,您说:

string path2 = @"C:\TESTmove\destiny";
string filename = @"C:\TESTmove\path\test1.txt";

File.Move (filename, path2);

path2应该包含路径和文件名。

e.g。它应该是这样的

string sourceFile = @"C:\TESTmove\path\whatever.txt";
string destinationFile = @"C:\TESTmove\whatever.txt";

System.IO.File.Move(sourceFile, destinationFile);

没有任何魔法,File.Move需要知道你要移动到哪个文件(不仅仅是位置)。