NX二次开发-NXOpen C# FileSystemInfo递归遍历文件夹下的所有子文件夹和文件

先添加引用

NX9+VS2012

using System;
using System.IO;
using NXOpen;
using NXOpen.UF;
using System.Windows.Forms;


//弹出浏览文件夹对话框
FolderBrowserDialog folder = new FolderBrowserDialog();
folder.ShowNewFolderButton = false;//不显示新建文件夹按钮
if (folder.ShowDialog() == DialogResult.OK)//判断是否选择了文件夹
{
    string aa = folder.SelectedPath;//显示选择的文件夹名称
    //theUfSession.Ui.DisplayMessage(aa, 1);

    CycleFolder(aa);
}



///////////////////////////////////////////////////////////
// 递归遍历文件夹
///////////////////////////////////////////////////////////
private static void CycleFolder(string FilePath)
{
    //创建DirectoryInfo对象
    DirectoryInfo dinfo = new DirectoryInfo(FilePath);

    //获取指定目录下的所有子目录及文件类型
    FileSystemInfo[] fsinfos = dinfo.GetFileSystemInfos();
    foreach (FileSystemInfo fsinfo in fsinfos)
    {
        if (fsinfo is DirectoryInfo)//判断是否是文件夹
        {
            //使用获取的文件夹名称实例化DirectoryInfo对象
            DirectoryInfo dirinfo = new DirectoryInfo(fsinfo.FullName);

            //打印文件夹名字
            MessageBox.Show(dirinfo.Name);

            //递归开始
            CycleFolder(dirinfo.ToString());
        }
        else
        {
            //使用获取的文件名称实例化FileInfo对象
            FileInfo finfo = new FileInfo(fsinfo.FullName);

            //打印文件路径
            MessageBox.Show(finfo.ToString());
        }
    }
}

Caesar卢尚宇
2020年8月17日

原文地址:https://www.cnblogs.com/nxopen2018/p/13520026.html