Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c#复制文件夹到指定文件夹

作者:冷血杀手   发布日期:2025-02-18   浏览:126

using System;
using System.IO;

class Program
{
    static void Main()
    {
        string sourceFolder = @"C:\source"; // 源文件夹路径
        string destinationFolder = @"C:\destination"; // 目标文件夹路径

        try
        {
            CopyFolder(sourceFolder, destinationFolder);
            Console.WriteLine("文件夹复制成功!");
        }
        catch (Exception ex)
        {
            Console.WriteLine("复制文件夹时出错: " + ex.Message);
        }
    }

    static void CopyFolder(string source, string target)
    {
        // 确保目标文件夹存在
        if (!Directory.Exists(target))
        {
            Directory.CreateDirectory(target);
        }

        // 获取源文件夹中的所有文件并复制到目标文件夹
        foreach (string file in Directory.GetFiles(source))
        {
            string name = Path.GetFileName(file);
            string dest = Path.Combine(target, name);
            File.Copy(file, dest, true);
        }

        // 递归处理子文件夹
        foreach (string directory in Directory.GetDirectories(source))
        {
            string name = Path.GetFileName(directory);
            string dest = Path.Combine(target, name);
            CopyFolder(directory, dest);
        }
    }
}

解释说明:

  1. 命名空间和类:代码使用了SystemSystem.IO命名空间,定义了一个名为Program的类。
  2. 主函数:在Main方法中,指定了源文件夹和目标文件夹的路径,并调用CopyFolder方法进行文件夹复制。如果复制过程中发生异常,则会捕获异常并输出错误信息。
  3. CopyFolder 方法
    • 首先检查目标文件夹是否存在,如果不存在则创建它。
    • 使用Directory.GetFiles获取源文件夹中的所有文件,并逐个复制到目标文件夹。
    • 使用Directory.GetDirectories获取源文件夹中的所有子文件夹,并递归调用CopyFolder方法来处理这些子文件夹。

这样可以确保整个文件夹结构(包括所有子文件夹及其内容)都被完整地复制到指定的目标文件夹中。

上一篇:c# gui

下一篇:c# list foreach

大家都在看

c# 二进制

c# tcp client

c# type.gettype

c# sqlconnection

.net和c#

c#游戏开发

c#网络编程

c# rectangle

c# if else

c# rtsp

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站