zoukankan      html  css  js  c++  java
  • C# 获取当前目录

    一、获取当前文件的路径

    string str1=Process.GetCurrentProcess().MainModule.FileName;//可获得当前执行的exe的文件名。 
    string str2=Environment.CurrentDirectory;//获取和设置当前目录(即该进程从中启动的目录)的完全限定路径。(备注:按照定义,如果该进程在本地或网络驱动器的根目录中启动,则此属性的值为驱动器名称后跟一个尾部反斜杠(如“C:”)。如果该进程在子目录中启动,则此属性的值为不带尾部反斜杠的驱动器和子目录路径[如“C:mySubDirectory”])。 
    string str3=Directory.GetCurrentDirectory(); //获取应用程序的当前工作目录。 
    string str4=AppDomain.CurrentDomain.BaseDirectory;//获取基目录,它由程序集冲突解决程序用来探测程序集。 
    string str5=Application.StartupPath;//获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。 
    string str6=Application.ExecutablePath;//获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。 
    string str7=AppDomain.CurrentDomain.SetupInformation.ApplicationBase;//获取或设置包含该应用程序的目录的名称。

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

    二、操作环境变量

    利用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");

    三、应用实例

    编写了一个WinForm程序,项目文件存放于D:ProjectsDemo,编译后的文件位于D:ProjectsDemoinDebug,最后的结果如下:

    1、System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName=D:ProjectsDemoinDebugDemo.vshost.exe
    2、System.Environment.CurrentDirectory=D:ProjectsDemoinDebug
    3、System.IO.Directory.GetCurrentDirectory()=D:ProjectsDemoinDebug
    4、System.AppDomain.CurrentDomain.BaseDirectory=D:ProjectsDemoinDebug
    5、System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase=D:ProjectsDemoinDebug
    6、System.Windows.Forms.Application.StartupPath=D:ProjectsDemoinDebug
    7、System.Windows.Forms.Application.ExecutablePath=D:ProjectsDemoinDebugDemo.EXE

    System.Environment.GetEnvironmentVariable("windir")=C:WINDOWS
    System.Environment.GetEnvironmentVariable("INCLUDE")=C:Program FilesMicrosoft Visual Studio.NET 2005SDKv2.0include
    System.Environment.GetEnvironmentVariable("TMP")=C:DOCUME~1ADMINI~1LOCALS~1Temp
    System.Environment.GetEnvironmentVariable("TEMP")=C:DOCUME~1ADMINI~1LOCALS~1Temp
    System.Environment.GetEnvironmentVariable("Path")=C:WINDOWSsystem32;C:WINDOWS;C:WINDOWSSystem32Wbem;C:Program FilesMicrosoft SQL Server90Toolsinn

  • 相关阅读:
    Java8 Stream Function
    PLINQ (C#/.Net 4.5.1) vs Stream (JDK/Java 8) Performance
    罗素 尊重 《事实》
    小品 《研发的一天》
    Java8 λ表达式 stream group by max then Option then PlainObject
    这人好像一条狗啊。什么是共识?
    TOGAF TheOpenGroup引领开发厂商中立的开放技术标准和认证
    OpenMP vs. MPI
    BPMN2 online draw tools 在线作图工具
    DecisionCamp 2019, Decision Manager, AI, and the Future
  • 原文地址:https://www.cnblogs.com/z45281625/p/11231393.html
Copyright © 2011-2022 走看看