重命名目录(错误无法找到路径的一部分。)

时间:2013-03-26 12:23:14

标签: c#

string sourceDir = @"E:\Images\3\2\1";
string destDir = @"E:\Images\33\22\11";
Directory.Move(sourceDir, destinationDir);

我必须重命名目录我使用Directory.Move()但是给了我错误:

Could not find a part of the path.

3 个答案:

答案 0 :(得分:3)

您需要确保将文件夹移动到的位置存在。为了方便起见,您可以执行以下操作。

基本上,您需要确保将文件移动到的路径存在。

string sourceDir = @"E:\Images\3\2\1";
string destName = "1";
string destDir = @"E:\Images\33\22\";

Directory.CreateDirectory(destDir); // Create the location path
Directory.Move(sourceDir, Path.Combine(destDir + destName));

编辑:添加了基本的错误处理。

这是一个基本错误处理示例,以确保源目录和目标目录都存在。

string sourceDir = @"E:\Images\3\2\1";
string destName = "1";
string destDir = @"E:\Images\33\22\";

if (!Directory.Exists(sourceDir))
{
    Console.WriteLine("Source Directory does not exist.");
    Console.Read();
    //return; // Handle issue where Source Dir does not exist.
}

if (!Directory.Exists(destDir))
{
    Console.WriteLine("Destination Directory does exist. Created.");
    Directory.CreateDirectory(destDir);
}

if (Directory.Exists(Path.Combine(destDir + destName)))
{
    Console.WriteLine("Target Destination already exist.");
    Console.Read();
    return;
}

Directory.Move(sourceDir, Path.Combine(destDir + destName));
Console.Read();

答案 1 :(得分:2)

移动时,您移动的文件夹应该存在。

Directory.Create([path to target folder]

之前致电Directory.Move

答案 2 :(得分:2)

似乎在string destDir = @"E:\Images\33\22\11"; Images \ 33 \ 22 \中不存在。您无法使用Directory.Move创建新的子目录,因此E:\Images\33\22\必须已存在。

请参阅MSDN