c#获取文件夹名称

本文详细介绍了使用C#语言获取文件夹名称的方法,并通过两种方式展示了如何遍历目录下所有子目录。第一种方法利用了.NET Framework的Directory.GetDirectories()函数,第二种则使用了System.IO.DirectoryInfo类进行更细致的操作。

c#获取文件夹名称

string root = this.txtRootPath.Text;
                if (root[root.Length - 1] != Path.DirectorySeparatorChar)
                    root += Path.DirectorySeparatorChar;

方法一
                string[] files = Directory.GetDirectories(root);
                foreach (string Element in files)
                {
                        MessageBox.Show(Element );
//通过截取字符串的方式实现
                }

方法二
                System.IO.DirectoryInfo d = new System.IO.DirectoryInfo(root);
                System.IO.DirectoryInfo[] ds = d.GetDirectories("*.*", System.IO.SearchOption.TopDirectoryOnly);
                foreach (System.IO.DirectoryInfo var in ds)
                {
                    //路径全称
                    //System.Console.WriteLine(var.FullName);
                    //仅文件名称
                    MessageBox.Show(var.Name);
                }
<think>好的,用户的问题是关于如何在C#获取文件夹路径的方法。首先,我需要整理现有的引用资料中的信息。引用1提到了使用System.Diagnostics命名空间中的Process.GetCurrentProcess().MainModule.FileName来获取当前执行的exe文件名。这可能用于获取应用程序的启动路径。不过用户需要的是文件夹路径,所以可能需要提取目录部分。 接下来,引用2和3讨论了如何让用户选择文件夹路径,使用FolderBrowserDialog类。这部分内容对用户来说应该很有用,特别是如果需要用户交互选择文件夹的情况。 用户的问题可能分为两部分:如何获取程序当前的文件夹路径,以及如何让用户选择文件夹路径。我需要分别回答这两种情况。 首先,对于获取当前工作目录,常用的方法包括Assembly.GetExecutingAssembly().Location,但要注意这会返回程序集的位置,可能和当前目录不同。另外,Environment.CurrentDirectory可以获取或设置当前工作目录,但可能有权限问题。 然后,使用Process.GetCurrentProcess().MainModule.FileName可以获取可执行文件的完整路径,再通过Path.GetDirectoryName()提取目录部分,这样就能得到应用程序的启动路径。但需要处理可能的异常,比如空引用。 对于用户选择文件夹,FolderBrowserDialog是WinForms中的组件,需要添加对System.Windows.Forms的引用,并正确使用ShowDialog方法。在WPF中可能需要额外的处理,比如引用System.Windows.Forms或者使用其他对话框。 另外,可能需要提到其他方法,比如使用Application.StartupPath来获取应用程序的启动路径,或者使用AppDomain.CurrentDomain.BaseDirectory,这在某些情况下更可靠。 还要注意不同方法之间的区别,比如Environment.CurrentDirectory可能会被其他代码改变,而AppDomain.BaseDirectory通常是固定的。需要根据用户的具体需求推荐合适的方法。 最后,生成相关问题时要覆盖不同的应用场景,比如用户选择路径、获取特殊文件夹路径(如桌面、我的文档)、处理路径字符串的方法等。这有助于用户进一步了解相关操作。</think>### C# 获取文件夹路径的方法总结 以下是几种常用的C#获取文件夹路径的方法,根据具体场景选择合适的方式: #### 一、获取程序当前路径 1. **应用程序启动路径** ```csharp string path = System.AppDomain.CurrentDomain.BaseDirectory; ``` 此方法获取应用程序启动目录(末尾带反斜杠),适用于控制台/WinForm/WPF应用[^1]。 2. **可执行文件路径** ```csharp string exePath = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName; string dirPath = System.IO.Path.GetDirectoryName(exePath); ``` 获取当前执行的exe文件所在目录路径。 3. **当前工作目录** ```csharp string currentDir = System.Environment.CurrentDirectory; ``` 注意:该路径可能被`Directory.SetCurrentDirectory()`改变。 #### 二、用户选择文件夹路径 使用`FolderBrowserDialog`实现文件夹选择: ```csharp using System.Windows.Forms; // 需要添加引用 var dialog = new FolderBrowserDialog { Description = "请选择文件夹", ShowNewFolderButton = true }; if (dialog.ShowDialog() == DialogResult.OK) { string selectedPath = dialog.SelectedPath; } ``` 此方法会弹出Windows风格文件夹选择对话框,返回用户选择的路径[^2][^3]。 #### 三、获取系统特殊文件夹 ```csharp string desktop = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); string myDocuments = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); ``` 通过`Environment.SpecialFolder`枚举可获取20+系统预设路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值