0
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.
4

3 に答える 3

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();
于 2013-03-26T12:31:05.870 に答える
2

移動先のフォルダは、移動前に存在している必要があります。

Directory.Create([path to target folder]前に ) を呼び出すDirectory.Move

于 2013-03-26T12:25:05.857 に答える
2

string destDir = @"E:\Images\33\22\11";Images\33\22\ には存在しないようです。を使用して新しいサブディレクトリを作成することはできないためDirectory.MoveE:\Images\33\22\既に存在している必要があります。

MSDNを参照してください。

于 2013-03-26T12:27:11.563 に答える