文件路径获取

当前程序相关

string str1 = Directory.GetCurrentDirectory();
Console.WriteLine(“应用程序当前工作路径:”+str1.ToString());
string str2 = AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
Console.WriteLine(“获取或设置包含该应用程序的目录的名称:”+str2.ToString());
string str3= System.AppDomain.CurrentDomain.BaseDirectory;
Console.WriteLine(“当前应用程序域的基目录:”+str3.ToString());
string str4 = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
Console.WriteLine(“获取和设置包括该应用程序的目录的名称:”+str4.ToString());
输出结果为:

  1. 应用程序当前工作路径:D:\资源文件\学习资料\WPF\借鉴案例\测试集合\FirstTest\bin\Debug
  2. 获取或设置包含该应用程序的目录的名称:D:\资源文件\学习资料\WPF\借鉴案例\测试集合\FirstTest\bin\Debug\
  3. 当前应用程序域的基目录:D:\资源文件\学习资料\WPF\借鉴案例\测试集合\FirstTest\bin\Debug\
  4. 获取和设置包括该应用程序的目录的名称:D:\资源文件\学习资料\WPF\借鉴案例\测试集合\FirstTest\bin\Debug\

系统特殊文件路径获取

System.Environment.GetFolderPath(SpecialFolder)
例如:
System.Environment.GetFolderPath(Environment.SpecialFolder.Desktop) = C:\Users\zhzhx\Desktop //逻辑桌面,而不是物理文件系统位置。
System.Environment.GetFolderPath(Environment.SpecialFolder.Programs) = C:\Users\zhzhx\AppData\Roaming\Microsoft\Windows\Start Menu\Programs //包含用户程序组的目录。
System.Environment.GetFolderPath(Environment.SpecialFolder.Personal) = C:\Users\zhzhx\Documents //用作文档的公共储存库的目录。
System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) = C:\Users\zhzhx\Documents // “我的文档”文件夹。
以下不再一一叙述,同上面所示,只是写出各个Environment.SpecialFolder后缀名所对应的文件夹

  1. Favorites,//用作用户收藏夹项的公共储存库的目录。
  2. Startup,//对应于用户的“启动”程序组的目录。
  3. Favorites,//用作用户收藏夹项的公共储存库的目录。
  4. Startup,//对应于用户的“启动”程序组的目录。
  5. Recent, //包含用户最近使用过的文档的目录。
  6. SendTo ,//包含“发送”菜单项的目录。
  7. StartMenu ,//包含“开始”菜单项的目录。
  8. MyMusic ,//“我的音乐”文件夹。
  9. MyVideos , //文件系统目录,充当属于某个用户的视频的存储库。
  10. DesktopDirectory , //用于物理上存储桌面上的文件对象的目录。
  11. MyComputer ,//“我的电脑”文件夹。
  12. NetworkShortcuts ,//文件系统目录,包含“网上邻居”虚拟文件夹中可能存在的链接对象。
  13. Fonts ,//包含字体的虚拟文件夹。
  14. Templates ,//用作文档模板的公共储存库的目录。
  15. CommonStartMenu , //文件系统目录,包含在所有用户的“开始”菜单上都出现的程序和文件夹。此特殊文件夹仅对
    Windows NT 系统有效。
  16. CommonPrograms , // 存放多个应用程序共享的组件的文件夹。此特殊文件夹仅对 Windows
    NT、Windows 2000 和 Windows XP 系统有效。
  17. CommonStartup ,//文件系统目录,包含在所有用户的“启动”文件夹中都出现的程序。此特殊文件夹仅对 Windows NT
    系统有效。
  18. CommonDesktopDirectory , //文件系统目录,包含在所有用户桌面上出现的文件和文件夹。此特殊文件夹仅对
    Windows NT 系统有效。
  19. ApplicationData ,// 目录,它用作当前漫游用户的应用程序特定数据的公共储存库。
  20. PrinterShortcuts ,//文件系统目录,包含“打印机”虚拟文件夹中可能存在的链接对象。
  21. LocalApplicationData ,// 目录,它用作当前非漫游用户使用的应用程序特定数据的公共储存库。
  22. InternetCache ,//用作 Internet 临时文件的公共储存库的目录。
  23. Cookies ,//用作 Internet Cookie 的公共储存库的目录。
  24. History ,//用作 Internet 历史记录项的公共储存库的目录。
  25. CommonApplicationData ,//目录,它用作所有用户使用的应用程序特定数据的公共储存库。
  26. Windows ,//Windows 目录或 SYSROOT。它与 %windir% 或 %SYSTEMROOT% 环境变量相对应。
  27. System ,//“System”目录。
  28. ProgramFiles ,// “Program files”目录。
  29. MyPictures ,//“我的图片”文件夹。
  30. UserProfile ,// 用户的配置文件文件夹。应用程序不应在此级别上创建文件或文件夹;它们应将其数据放在
    System.Environment.SpecialFolder.ApplicationData所引用的位置之下。
  31. SystemX86 ,//Windows“System”文件夹。
  32. ProgramFilesX86 ,//“Program Files”文件夹。
  33. CommonProgramFiles ,//用于应用程序间共享的组件的目录。
  34. CommonProgramFilesX86 ,// “Program Files”文件夹。
  35. CommonTemplates ,//文件系统目录,包含所有用户都可以使用的模板。此特殊文件夹仅对 Windows NT 系统有效。
  36. CommonDocuments ,//文件系统目录,包含所有用户共有的文档。此特殊文件夹仅对装有 Shfolder.dll 的
    Windows NT 系统、Windows 95 和 Windows98 系统有效。
  37. CommonAdminTools ,//文件系统目录,包含计算机所有用户的管理工具。
  38. AdminTools ,//文件系统目录,用于存储各个用户的管理工具。Microsoft Management Console
    (MMC) 会将自定义的控制台保存在此目录中,并且此目录将随用户一起漫游。
  39. CommonMusic , //文件系统目录,充当所有用户共有的音乐文件的存储库。
  40. CommonPictures ,//文件系统目录,充当所有用户共有的图像文件的存储库。
  41. CommonVideos ,//文件系统目录,充当所有用户共有的视频文件的存储库。
  42. Resources , //文件系统目录,包含资源数据。
  43. LocalizedResources ,//文件系统目录,包含本地化资源数据。
  44. CommonOemLinks ,//为了实现向后兼容,Windows Vista 中可以识别此值,但该特殊文件夹本身已不再使用。
  45. CDBurning ,//文件系统目录,充当等待写入 CD 的文件的临时区域。

关于获取上级目录

粗略方法:

   string rootPath = "";
   string BaseDirectoryPath = AppDomain.CurrentDomain.BaseDirectory; // D:\.....\Debug
   Console.WriteLine("应用程序当前工作路径:" + BaseDirectoryPath.ToString());
   // 向上回退三级,得到需要的目录
   rootPath = BaseDirectoryPath.Substring(0, BaseDirectoryPath.LastIndexOf("\\")); // 第一个\是转义符,所以要写两个
   Console.WriteLine("上一级路径:" + rootPath.ToString());
   rootPath = rootPath.Substring(0, rootPath.LastIndexOf(@"\"));   // 或者写成这种格式
   Console.WriteLine("上二级路径:" + rootPath.ToString());
   rootPath = rootPath.Substring(0, rootPath.LastIndexOf("\\")); 
   Console.WriteLine("上三级路径:" + rootPath.ToString());

输出结果:

  • 应用程序当前工作路径:D:\资源文件\学习资料\WPF\借鉴案例\测试集合\FirstTest\bin\Debug\
  • 上一级路径:D:\资源文件\学习资料\WPF\借鉴案例\测试集合\FirstTest\bin\Debug
  • 上二级路径:D:\资源文件\学习资料\WPF\借鉴案例\测试集合\FirstTest\bin
  • 上三级路径:D:\资源文件\学习资料\WPF\借鉴案例\测试集合\FirstTest

优雅方式获取父级目录:

  • 方法一:
 string BaseDirectoryPath = AppDomain.CurrentDomain.BaseDirectory; 
 Console.WriteLine("应用程序当前工作路径:" + BaseDirectoryPath.ToString());
 Directory.SetCurrentDirectory(Directory.GetParent(BaseDirectoryPath).FullName);
 string parentPath = Directory.GetCurrentDirectory();

 Console.WriteLine("上一级路径:" + parentPath.ToString());

输出结果:

  1. 应用程序当前工作路径:D:\资源文件\学习资料\WPF\借鉴案例\测试集合\FirstTest\bin\Debug\
  2. 上一级路径:D:\资源文件\学习资料\WPF\借鉴案例\测试集合\FirstTest\bin\Debug
  • 方法二:
 Console.WriteLine("上一级路径:" + System.IO.Path.GetFullPath(".."));
 Console.WriteLine("上二级路径:" + System.IO.Path.GetFullPath("../.."));//以此类推获取上级路径(通过追加/..)

输出结果:

  1. 上一级路径:D:\资源文件\学习资料\WPF\借鉴案例\测试集合\FirstTest\bin
  2. 上二级路径:D:\资源文件\学习资料\WPF\借鉴案例\测试集合\FirstTest
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值