C# 如何让程序读取目录中的每个文件夹和每个文件夹中的每个文件

C# 如何让程序读取目录中的每个文件夹和每个文件夹中的每个文件,c#,C#,我试图创建一个程序,读取主目录中的文件夹,并为每个文件夹读取每个文件(PDF),然后移动到下一个文件夹 下面的代码是我声明字符串并以foreach语句开头的代码 string input_Path = @"C:\Users\username\Desktop\testinp\"; string output_Path = @"C:\Users\username\Desktop\testinp\output\"; string[] di

我试图创建一个程序,读取主目录中的文件夹,并为每个文件夹读取每个文件(PDF),然后移动到下一个文件夹

下面的代码是我声明字符串并以foreach语句开头的代码

string input_Path = @"C:\Users\username\Desktop\testinp\";
                string output_Path = @"C:\Users\username\Desktop\testinp\output\";
                string[] dirs = Directory.GetDirectories(input_Path, "*", SearchOption.TopDirectoryOnly);
                string[] files = Directory.GetFiles(input_Path, "*.pdf");

                foreach (string dir in dirs)
                {
                    string dirName = dir;
                }


下面是一个完整的解释,以及代码示例

你知道如何做嵌套循环吗?这能回答你的问题吗?如果您只希望所有.pdf文件处于任何深度,您甚至不需要担心文件夹上的循环:
string[]files=Directory.GetFiles(topLevelDir,“*.pdf”,SearchOptions.allDirectory)是的,我知道,但我一直在想,如果这是最好的方式,那么写它们的最佳方式是什么。@O'Cheezy,为什么所有pdf文件的简单列表都不适用于此?您可以使用
Path.GetDirectoryName(文件)
从完整文件路径获取特定子文件夹。NET已经在接受
SearchOptions.AllDirectories
的函数中实现了递归文件搜索,为什么要重新实现它呢。