C# 遍历指定目录并判断指定目录名是否存在

在指定目录A下查找指定目录名B(B可能在A下面的一级目录下,也有可能在二级或者三级目录下),找到后用messagebox显示给用户完整的路径,并且询问用户是否复制B目录下... 在指定目录A下查找指定目录名B(B可能在A下面的一级目录下,也有可能在二级或者三级目录下),找到后用messagebox显示给用户完整的路径,并且询问用户是否复制B目录下的所以文件到C目录下,用户选择复制则执行复制操作,否则退出,如果没有找到目录B同样提示用户没有找到B,我是一个新手,麻烦指导这段代码应该如果写?万分感谢!!! 展开
 我来答
仙戈雅3n
2016-10-31 · TA获得超过5791个赞
知道大有可为答主
回答量:2398
采纳率:75%
帮助的人:1131万
展开全部
    using System;
    using System.IO; 
    using System.Windows.Forms;// 此处需要引用System.Windows.Forms程序集
    class Program
    {
        static void Main(string[] args)
        {
            DirectoryInfo di = new DirectoryInfo("D:\\A");
            Boolean isExisted;

            Iterator(di, "B", out isExisted);
            if(!isExisted) MessageBox.Show("没有找到B目录");
        }
        static void Iterator(DirectoryInfo searchDi, string folderName,out bool isExisted) {
            
            isExisted = false;

            if (String.IsNullOrWhiteSpace(folderName)
                || searchDi == null || !searchDi.Exists) return;

            if (searchDi.Name.CompareTo(folderName) == 0)
            {
               DialogResult dr=MessageBox.Show("已在"+searchDi.FullName+"找到"+folderName+"目录,是否复制该目录下的所有文件到C目录?",
                    "询问",MessageBoxButtons.YesNo,MessageBoxIcon.Question);

                isExisted = true;

                if (dr == DialogResult.OK)
                {
                    // 用户要复制
                    // To do sth...
                }
                else
                {
                    // 用户不要复制
                }
                return;
            }
            DirectoryInfo[] dis = searchDi.GetDirectories();
            for (int i = 0; dis!=null&&i < dis.Length; i++)
            {
                Iterator(dis[i], folderName, out isExisted);
            }
        }
    }
更多追问追答
追问
非常感谢你的指导,麻烦再问一下代码在String.IsNullOrWhiteSpace(folderName这里报错了,错误信息:“string”does not contain a definition for "IsNullOrWhiteSpace"
追答
你用的是什么IDE?String.IsNullOrWhiteSpace是String类标准的内置方法,是不会有错误的。
阳光的雷咩咩
2016-10-30 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:9478万
展开全部
每一步都可以提一个问题。
更多追问追答
追问
麻烦具体点呢?
追答
也就是逻辑上可以化整为零。如果你一次性问这么多问题,也可以,付费就给你做完。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhailk
2016-10-31 · 超过55用户采纳过TA的回答
知道小有建树答主
回答量:232
采纳率:0%
帮助的人:128万
展开全部
你可以百度如何遍历目录就会了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式