我试图将目录从一个位置移动到同一驱动器上的另一个位置.我收到" 当该文件已存在时无法创建文件 "错误.以下是我的代码.
任何人都可以建议吗?
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);
}
Run Code Online (Sandbox Code Playgroud)
Mar*_*all 21
正如前面的两个答案所指出的那样,目标目录不能存在.在您的代码中,如果目录不存在,则创建目录,然后尝试移动目录,Move方法将为您创建目录.如果目录已存在,则需要删除它或移动它.
像这样的东西:
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();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
51617 次 |
| 最近记录: |