gpt4 book ai didi

c# - 当使用 Directory.Move 时该文件已存在时无法创建该文件

转载 作者:IT王子 更新时间:2023-10-29 04:54:26 25 4
gpt4 key购买 nike

我正在尝试将目录从一个位置移动到同一驱动器上的另一个位置。我收到“当文件已存在时无法创建文件”错误。下面是我的代码。

有人可以对此提出建议吗?

        string sourcedirectory = @"F:\source";
string destinationdirectory = @"F:\destination";

try
{
if (Directory.Exists(sourcedirectory))
{
if (Directory.Exists(destinationdirectory))
{
Directory.Move(sourcedirectory, destinationdirectory);
}
else
{
Directory.CreateDirectory(destinationdirectory);
Directory.Move(sourcedirectory, destinationdirectory);
}
}

}
catch (Exception ex)
{
log(ex.message);
}

最佳答案

正如前面两个答案所指出的,目标目录不存在。在您的代码中,您正在创建目录(如果目录不存在)然后尝试移动您的目录,移动方法将为您创建目录。如果目录已经存在,您将需要删除它或移动它。

像这样:

class Program
{
static void Main(string[] args)
{
string sourcedirectory = @"C:\source";
string destinationdirectory = @"C:\destination";
string backupdirectory = @"C:\Backup";
try
{
if (Directory.Exists(sourcedirectory))
{
if (Directory.Exists(destinationdirectory))
{
//Directory.Delete(destinationdirectory);
Directory.Move(destinationdirectory, backupdirectory + DateTime.Now.ToString("_MMMdd_yyyy_HHmmss"));
Directory.Move(sourcedirectory, destinationdirectory);
}
else
{
Directory.Move(sourcedirectory, destinationdirectory);
}
}

}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.ReadLine();
}
}

关于c# - 当使用 Directory.Move 时该文件已存在时无法创建该文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12667770/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com