在.NET 6中,可以使用System.IO命名空间下的Directory类和File类来实现文件夹的复制。以下是一个示例代码,演示如何将一个文件夹及其内容复制到另一个文件夹:

using System.IO;

class Program
{
    static void Main(string[] args)
    {
        string sourceDirectory = @"C:\SourceFolder"; // 源文件夹路径
        string targetDirectory = @"C:\TargetFolder"; // 目标文件夹路径

        // 创建目标文件夹
        Directory.CreateDirectory(targetDirectory);

        // 获取源文件夹中的所有文件
        string[] files = Directory.GetFiles(sourceDirectory);

        // 复制文件到目标文件夹
        foreach (string file in files)
        {
            string fileName = Path.GetFileName(file);
            string targetPath = Path.Combine(targetDirectory, fileName);
            File.Copy(file, targetPath, true); // 第三个参数为true表示覆盖已存在的文件
        }

        // 获取源文件夹中的所有子文件夹
        string[] subDirectories = Directory.GetDirectories(sourceDirectory);

        // 递归复制子文件夹及其内容到目标文件夹
        foreach (string subDirectory in subDirectories)
        {
            string subDirectoryName = Path.GetFileName(subDirectory);
            string targetSubDirectoryPath = Path.Combine(targetDirectory, subDirectoryName);
            CopyDirectory(subDirectory, targetSubDirectoryPath);
        }

        Console.WriteLine("文件夹复制完成。");
    }

    static void CopyDirectory(string sourceDirectory, string targetDirectory)
    {
        // 创建目标文件夹
        Directory.CreateDirectory(targetDirectory);

        // 获取源文件夹中的所有文件
        string[] files = Directory.GetFiles(sourceDirectory);

        // 复制文件到目标文件夹
        foreach (string file in files)
        {
            string fileName = Path.GetFileName(file);
            string targetPath = Path.Combine(targetDirectory, fileName);
            File.Copy(file, targetPath, true); // 第三个参数为true表示覆盖已存在的文件
        }

        // 获取源文件夹中的所有子文件夹
        string[] subDirectories = Directory.GetDirectories(sourceDirectory);

        // 递归复制子文件夹及其内容到目标文件夹
        foreach (string subDirectory in subDirectories)
        {
            string subDirectoryName = Path.GetFileName(subDirectory);
            string targetSubDirectoryPath = Path.Combine(targetDirectory, subDirectoryName);
            CopyDirectory(subDirectory, targetSubDirectoryPath);
        }
    }
}

替换sourceDirectorytargetDirectory变量的值为你实际的文件夹路径,然后运行代码即可将源文件夹及其内容复制到目标文件夹

NET6 怎么把文件夹复制到另一个文件夹文件夹也需要复制

原文地址: https://www.cveoy.top/t/topic/iEtU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录