C#中如何获取当前目录和上级目录

 更新时间:2023年07月13日 08:54:20   作者:木依  
这篇文章主要介绍了C#中如何获取当前目录和上级目录问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

C#获取当前目录和上级目录

//使用AppDomain获取当前目录
string dir = AppDomain.CurrentDomain.BaseDirectory;
string info = string.Format("当前目录:{0}", dir);
Console.WriteLine(info);
//使用path获取当前应用程序集的执行的上级目录
string dir1 = Path.GetFullPath("..");
string info1 = string.Format("上级目录:{0}", dir1);
Console.WriteLine(info1);
//使用path获取当前应用程序集的执行的上上级级目录
string dir2 = Path.GetFullPath(@"..//..");
string info2 = string.Format("上上级目录:{0}", dir2);
Console.WriteLine(info2);

结果如下:

C#获取根目录的方法集合

1、取得控制台应用程序的根目录方法

  • 方法1、Environment.CurrentDirectory 取得或设置当前工作目录的完整限定路径  
  • 方法2、AppDomain.CurrentDomain.BaseDirectory 获取基目录,它由程序集冲突解决程序用来探测程序集

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

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

3、取得WinForm应用程序的根目录方法

  • 1、Environment.CurrentDirectory.ToString();//获取或设置当前工作目录的完全限定路径
  • 2、Application.StartupPath.ToString();//获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称
  • 3、Directory.GetCurrentDirectory();//获取应用程序的当前工作目录
  • 4、AppDomain.CurrentDomain.BaseDirectory;//获取基目录,它由程序集冲突解决程序用来探测程序集
  • 5、AppDomain.CurrentDomain.SetupInformation.ApplicationBase;//获取或设置包含该应用程序的目录的名称

其中:以下两个方法可以获取执行文件名称

  • 1、Process.GetCurrentProcess().MainModule.FileName;//可获得当前执行的exe的文件名。
  • 2、Application.ExecutablePath;//获取启动了应用程序的可执行文件的路径,包括可执行文件的名称

获取.net的根目录的方法

  • 方法1:System.Web.HttpContext.Current.Request.PhysicalApplicationPath
  • 方法2:System.Web.HttpContext.Current.Server.MapPath("./")

总注:Server.MapPath获得的路径都是服务器上的物理路径,也就是常说的绝对路径

1、Server.MapPath("/")

注:获得应用程序根目录所在的位置,如 C:\Inetpub\wwwroot\。

2、Server.MapPath("./")

注:获得所在页面的当前目录,等价于Server.MapPath("")。

3、Server.MapPath("../")

注:获得所在页面的上级目录。

4、Server.MapPath("~/")

注:获得当前应用级程序的目录,如果是根目录,就是根目录,如果是虚拟目录,就是虚拟目录所在的位置,如C:\Inetpub\wwwroot\Example\。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • .NET平台的一种方便快捷的服务注册方案

    .NET平台的一种方便快捷的服务注册方案

    这篇文章主要介绍了.NET平台的一种方便快捷的服务注册方案的相关资料,需要的朋友可以参考下
    2023-08-08
  • C#清理非托管对象实例分析

    C#清理非托管对象实例分析

    这篇文章主要介绍了C#清理非托管对象的方法,结合实例形式详细分析了C#清理非托管对象释放资源的相关原理与实现技巧,需要的朋友可以参考下
    2016-02-02
  • WinForm中跨线程操作UI的解决方案汇总

    WinForm中跨线程操作UI的解决方案汇总

    在开发WinForm应用程序时,经常会遇到需要在线程间操作UI的情况,直接从非UI线程更新UI控件会导致异常,因此我们需要采取适当的方法来安全地进行这些操作,本文总结了几种常见的解决方法,并对其优缺点进行了分析,需要的朋友可以参考下
    2025-06-06
  • Unity UGUI的Slider滑动条件组使用详解

    Unity UGUI的Slider滑动条件组使用详解

    这篇文章主要为大家介绍了Unity UGUI的Slider滑动条件组使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • C#中如何获取当前目录和上级目录

    C#中如何获取当前目录和上级目录

    这篇文章主要介绍了C#中如何获取当前目录和上级目录问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • 关于C# dynamic装箱问题

    关于C# dynamic装箱问题

    装箱是将值类型转换为类型对象或此值类型实现的任何接口类型的过程,装箱和拆箱的概念是 C# 类型系统统一视图的基础,其中任何类型的值都可以视为对象,这篇文章主要介绍了关于C# dynamic装箱引发的思考,需要的朋友可以参考下
    2022-05-05
  • C#使用百度Ueditor富文本框实现上传文件

    C#使用百度Ueditor富文本框实现上传文件

    这篇文章主要为大家详细介绍了C#如何使用百度Ueditor富文本框实现上传文件(图片,视频等),文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-07-07
  • c# FTP上传文件实例代码(简易版)

    c# FTP上传文件实例代码(简易版)

    下面小编就为大家分享一篇c# FTP上传文件的实例代码,超简单哦~希望对大家有所帮助。一起跟随小编过来看看吧,
    2017-12-12
  • C#实现windows系统重启和关机的代码详解

    C#实现windows系统重启和关机的代码详解

    这篇文章主要介绍了C#实现windows系统重启和关机的的方法,涉及C#调用windows系统命令实现控制开机、关机等操作的技巧,非常简单实用,需要的朋友可以参考下
    2024-02-02
  • C#图片处理3种高级应用

    C#图片处理3种高级应用

    本文介绍C#图片处理高级应用,这些功能并无多大技术含量。全部基于.Net Framework类库完成,代码中包含了C#图片处理的一些基础知识,与大家分享,个人能力有限,不足之处还请及时指正。
    2015-10-10

最新评论