C# Directory.Move 但对于已经存在的文件夹 - 如何在不创建全新目录的情况下使用此方法或类似方法?


switch (filesToAdd.Count)
        {
            case 0:
                Console.WriteLine("No files to ZIP detected. Returning to menu.");
                return;
            default:
                    Console.Clear();
                foreach (var file in filesToAdd)
                {
                    try
                    {
                        Directory.Move(file, folderWithFolders);
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                    }
                }
                break;
        }

此代码不断捕获文件夹与文件夹已存在的异常,因为我之前根据用户输入创建它。

理想情况下,它应该包含多个文件夹,这些文件夹存储在列表文件中,一旦 switch 语句默认大小写完成,就会添加。

是否可以在不创建全新目录的情况下使用此 Directory.Create 方法(因为这意味着我不可能从列表中添加每个文件夹(,而是能够通过 foreach 循环一次添加一个文件夹到 folderWithFolder,而无需创建新目录;是否存在任何此类方法?

谢谢。

编辑:所以以防万一有人在未来几个月偶然发现这一点,我通过执行以下操作来让它工作:

我改变了:

try 
{ 
    Directory.Move(file, folderWithFolders); 
} 

相反,我将其更改为:

try 
{ 
    Directory.Move(file, folderWithFolders + "\"
    + Path.GetFileName(file)); 
}

如果确实filesToAdd是您要移动到文件夹的文件夹列表 folderWithFolders ,那么我建议

foreach (var file in filesToAdd)
{
    try
    {
        Directory.Move(file, Path.Combine(folderWithFolders,file)); 
    }
    catch (Exception e)
    {
        Console.WriteLine(e.Message);
    }
}

相关内容

最新更新