我想使用C#.NET将目录从一个位置移动到另一位置。我以这种简单的方式使用了Directory.Move
甚至DirectoryInfo(与MoveTo一起使用):
// source is: "C:\Songs\Elvis my Man"
// newLocation is: "C:\Songs\Elvis"
try
{
// Previous command was: Directory.Move(source, newLocation);
DirectoryInfo dir = new DirectoryInfo(source);
dir.MoveTo(newLocation);
}
catch (Exception e)
{
Console.WriteLine("Error: "+ e.Message);
}
但是(两种情况下)正在执行的操作是将文件夹名称从“源”重命名为“ newLocation”
我期望什么?该文件夹“ Elvis my man”现在将位于“ Elvis”文件夹中。
发生了什么? “猫王我的男人”更改为“猫王”(已重命名)。如果目录“ Elvis”已经存在,则无法将其更改为“ Elvis”(因为他无法创建重复的名称),因此我得到了一个例外。
我究竟做错了什么??
非常感谢!!!
最佳答案
尽管这在命令行中可以移动文件,但在编程时,您需要提供完整的新名称。
因此,您需要将newLocation更改为“ C:\ Songs \ Elvis \ Elvis my Man”才能完成此工作。