递归函数使用

示例:假设需要生产环境中只给你一个路径你需要将路径中所有的文件及文件夹copy至测试环境电脑

1.递归方法

public  void ListDirectories(string dir)
        {
            try
            {
                foreach (var item in Directory.GetFiles(dir))
                {
                    Selectapp(item);//此处可以进行copy及创建文件夹路径
                } 
                // 获取当前目录下的所有子目录
                string[] subDirectories = Directory.GetDirectories(dir);

                // 输出当前目录 创建文件夹路径
                Writelog(dir);

                // 遍历子目录并递归调用 ListDirectories 方法
                foreach (string subDir in subDirectories)
                {
                    foreach (var item in Directory.GetFiles(subDir))
                    {
                        Selectapp(item);//此处可以进行copy
                    }
                    ListDirectories(subDir);
                }
            }
            catch (UnauthorizedAccessException e)
            {
                // 处理权限不足的情况
                Writelog($"权限不足访问目录: {dir}");
            }
            catch (DirectoryNotFoundException e)
            {
                // 处理目录不存在的情况
                Writelog($"目录不存在: {dir}") ;
            }
            catch (Exception e)
            {
                // 处理其他异常
                Writelog($"发生异常: {e.Message}");
            }
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值