一、获取当前文件的路径

1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName
   获取模块的完整路径,包括文件名。
2. System.Environment.CurrentDirectory
   获取和设置当前目录(该进程从中启动的目录)的完全限定目录。
3. System.IO.Directory.GetCurrentDirectory() 
   获取应用程序的当前工作目录。这个不一定是程序从中启动的目录啊,有可能程序放在C:\www里,这个函数有可能返回C:\Documents and Settings\ZYB\,或者C:\Program Files\Adobe\,有时不一定返回什么东东,这是任何应用程序最后一次操作过的目录,比如你用Word打开了E:\doc\my.doc这个文 件,此时执行这个方法就返回了E:\doc了。
4. System.AppDomain.CurrentDomain.BaseDirectory
   获取程序的基目录。
5. System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase
   获取和设置包括该应用程序的目录的名称。
6. System.Windows.Forms.Application.StartupPath 
   获取启动了应用程序的可执行文件的路径。效果和2、5一样。只是5返回的字符串后面多了一个"\"而已
7. System.Windows.Forms.Application.ExecutablePath
   获取启动了应用程序的可执行文件的路径及文件名,效果和1一样。

对于Windows程序 和Web 应用程序来说,他们运行的路径是不一样的,所以关键是判断当前运行的程序是哪种程序.于是我们可以使用如下的代码

string path = "";
if (System.Environment.CurrentDirectory == AppDomain.CurrentDomain.BaseDirectory)//Windows应用程序则相等
{path = AppDomain.CurrentDomain.BaseDirectory;
}
else
{path = AppDomain.CurrentDomain.BaseDirectory + "Bin\";
}

二、winform获取文件路径

1. Process.GetCurrentProcess().MainModule.FileName;
    获得当前执行的exe的文件名。
2. Environment.CurrentDirectory;
    获取和设置当前目录的完全限定路径。
3. Directory.GetCurrentDirectory();
    获取应用程序的当前工作目录。
4. AppDomain.CurrentDomain.BaseDirectory;
    获取基目录,它由程序集冲突解决程序用来探测程序集,最后包含“\”。
5. Application.StartupPath;
    获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称,最后不包含“\”。
6. Application.ExecutablePath;
    获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。
7. AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
    获取或设置包含该应用程序的目录的名称。
8. System.Threading.Thread.GetDomain().BaseDirectory”
    获取当前应用程序所在目录的路径,最后包含“\”。
9. Environment.CurrentDirectory
     获取当前应用程序的路径,最后不包含“\”。
10.System.IO.Directory.GetCurrentDirectory
     获取当前应用程序的路径,最后不包含“\”。
11.System.IO.Directory.GetFiles(path) 
     返回指定目录下的文件名
12.System.IO.Path.GetFileNameWithoutExtension(path);
     返回不具有扩展名的指定路径字符串的文件名

三、取得Web应用程序的根目录方法

1、HttpRuntime.AppDomainAppPath.ToString()
     获取承载在当前应用程序域中的应用程序的应用程序目录的物理驱动器路径。用于App_Data中获取
2、Server.MapPath("") 或者 Server.MapPath("~/")
     返回与Web服务器上的指定的虚拟路径相对的物理文件路径
3、Request.ApplicationPath.ToString();
     获取服务器上ASP.NET应用程序的虚拟应用程序根目录

四、操作环境变量

利用System.Environment.GetEnvironmentVariable()方法可以很方便地取得系统环境变量,如:
System.Environment.GetEnvironmentVariable("windir")就可以取得windows系统目录的路径。
以下是一些常用的环境变量取值:
System.Environment.GetEnvironmentVariable("windir");
System.Environment.GetEnvironmentVariable("INCLUDE");
System.Environment.GetEnvironmentVariable("TMP");
System.Environment.GetEnvironmentVariable("TEMP");
System.Environment.GetEnvironmentVariable("Path");

转载于:https://www.cnblogs.com/hopedilei/p/3935286.html

C# 获取文件路径大全相关推荐

  1. Java获取文件路径

    Java获取文件路径 1.获取当前文件所在的包名 2.获取工程文件夹所在的绝对路径 3.获取当前class文件所在的绝对路径 1.获取当前文件所在的包名 类名.class.getPackage().g ...

  2. echo和pwd获取文件路径的区别对比

    echo和pwd获取文件路径的区别对比 echo &xxxx 直接可获取存储文件路径 pwd 也可以获取文件存储路径,但需cd 到相应的路径,在路径下,才可以通过pwd指令获取路径. 说明:二 ...

  3. android根据拍摄url获取格式,Android如何通过URI获取文件路径示例代码

    前言 最近在工作的过程中,遇到不同 Android 版本下 URI 采用不同方式来获取文件路径的问题. 因为需求的原因,要求拍照上传或者从相册中选择图片上传,而且图片是需要经过压缩的,大小不能超过2M ...

  4. mac pandas文件路径_Mac进阶必看:如何利用Automator快速获取文件路径

    在重装mac os系统后,有的小伙伴会选择手动恢复数据,但是却发现一些软件比如FTP.iterm2.foxmail等这些软件的配置信息没有了,其实数据并没有丢失哦!一般情形下数据都会在/Users/d ...

  5. VB 获取路径名各部分 (获取文件路径,获取文件名,获取文件扩展名)自编

    '====================获取路径名各部分:  如: c:\dir1001\aaa.txt '============获取路径路径 c:\dir1001\ '============获 ...

  6. multipartfile 获取文件路径_Excel工作表中的20个信息函数,获取文件路径,单元格格式等!...

    点击上方"Excel函数公式"免费订阅 Excel工作表中的信息函数主要用于返回某些指定单元格或区域的信息,例如获取文件路径,单元格格式信息或操作系统信息等等.今天,小编带大家掌握 ...

  7. python获取文件路径名_python文件名获取文件路径

    如何使用Python获取文件所在目录和文件名 python中如何根据文件名找他的路径.现在我遍历到怎么才能将某一个文件对应的路径找到呢? 遍历用os.walk: import osfrom os.pa ...

  8. 在某个文件目录中打开cmd的方法及快速获取文件路径的方法

    1. 在文件目录中打开cmd的方法 例如,我需要在下图路径中打开cmd. 点击一下该文件目录的浏览框. 输入cmd. 点击回车,就完成了在文件目录中打开cmd. 2. 快速获取文件路径的方法 例如我想 ...

  9. MAC怎么获取文件路径 MAC获取文件路径的四种方法

    MAC怎么获取文件路径介绍 方法一:最简单的方法  右键文件或者文件夹,选择显示简介 2在弹出来的窗口中找到位置,即为路径,在mac 10.10之前的系统是正常的路径,10.10开始是小箭头代替/显示 ...

最新文章

  1. 【Cmake】执行cmake命令时报错:No XSLT processor found
  2. c 一般处理程序 ajax,Ajax调用一般处理程序数据
  3. 【系统架构设计师】2020-08-05
  4. ssl1222-矩形【图论,并查集】
  5. 浅谈JSP表单中的form传值
  6. 高级java技术web组件_(重温)JavaWeb--Servlet技术(二)(JavaWeb 的三大组件之一)...
  7. leveldb使用指南
  8. 路由器局域网设置_路由器基础介绍
  9. 一文读懂「中台」的前世今生
  10. 播放视频和音频文件java
  11. php 调用日历控制,基于ThinkPHP实现的日历功能实例详解
  12. STM32线缆综合测试系统
  13. exp-小写字母表导出问题?
  14. 线性表_双向循环链表(Caesar加密变换结点顺序 代码实现 )
  15. JDBC学习总结4-------简化DAO的写法
  16. 【紫书第七章】暴力美学(能用暴力解决的事情为什么要动脑子?)
  17. 佳能打印机g3800如何安装到计算机,【佳能 G3800 喷墨无线一体打印机使用体验】驱动|安装|连接|连接_摘要频道_什么值得买...
  18. Python+Opencv身份证号码区域提取及识别
  19. Everthing最强文件搜索神器
  20. 2021-09-12

热门文章

  1. 升级dedecms5.5后,出现提示保存目录数据时失败,请检查你的输入资料是否存在问题...
  2. python程序设计方法学_python学习笔记(12)--程序设计方法学
  3. python中figure函数_Python figure参数及subplot子图绘制代码
  4. 飞秋mac版字符乱码_Mac必装软件推荐,下载方法也给你了。
  5. 走火入魔的 C/C++ 如何通过编译器预定义的宏值来区分 target OS 是 Windows 还是 Linux...
  6. php编写数据库配置文件,通用php与mysql数据库配置文件
  7. iOS应用支持IPV6及阿里云相关配置
  8. MFC 教程【10_内存分配方式和调试机制 】
  9. 电子计算机的基本结构基于存储程序思想是由,计算机应用基础第一章复习题
  10. linux普通用户id一般是,实际用户ID和有效用户ID (一) *****