定义:       当前工作目录——进行某项操作的目的目录,会随着OpenFileDialog、SaveFileDialog等对象所确定的目录而改变。

当前执行目录——该进程从中启动的目录,即文件自身所在目录。工作目录与执行目录可以不同,例如一个人住在北京,但他的工作地点不一定在北京,可能在天津。

方法:

1、获取和设置当前工作目录

a)          System.IO.Directory.GetCurrentDirectory()

说明:获取应用程序的当前工作目录的完全限定路径。该方法是对Win32 API的GetCurrentDirectory函数的一个封装。

例如:'"C:\Documents and Settings\Administrator\My Documents"

b)         System.Environment.CurrentDirectory

说明:获取或设置当前工作目录的完全限定路径。该属性内部调用的就是System.IO.Directory.GetCurrentDirectory()方法,二者是效果是等价的。

例如:'"C:\Documents and Settings\Administrator\My Documents"

c)          System.IO.Path.GetFullPath(".")

说明:获取指定路径字符串的绝对路径。也可以用GetFullPath(".\"),GetFullPath(".\\")

例如:'"C:\Documents and Settings\Administrator\My Documents"

2、获取和设置当前执行目录

a)          System.Windows.Forms.Application.StartupPath

说明:获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。常用于WinForm.

例如:'"D:\Projects\MyTest\bin"

b)         System.AppDomain.CurrentDomain.BaseDirectory

说明:获取基目录,它由程序集冲突解决程序用来探测程序集。返回路径末尾带“\”

例如:'"D:\Projects\MyTest\bin\"

c)          System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase

说明:获取或设置包含该应用程序的目录的名称。返回路径末尾带“\”

例如:'"D:\Projects\MyTest\bin\"

3、获取和设置当前执行目录,包括可执行文件名

a)          System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName

说明:获取模块的完整路径。包括可执行文件的名称。

例如:'"D:\Projects\MyTest\bin\MyTest.exe"

b)         System.Windows.Forms.Application.ExecutablePath

说明:获取启动了应用程序的可执行文件的路径,包括可执行文件的名称。

例如:'"D:\Projects\MyTest\bin\MyTest.exe"

c)          System.Reflection.Assembly.GetExecutingAssembly().Location

说明:如果包含清单的已加载文件没有被影像复制,则获取该文件的基本代码格式的位置。

例如:'"D:\Projects\MyTest\bin\MyTest.exe"

d)         System.Reflection.Assembly.GetExecutingAssembly().CodeBase

说明:获取最初指定的程序集的位置,例如,在AssemblyName对象中指定的位置。

例如:'"file:///D:/Projects/MyTest/bin/MyTest.exe"

.NET中的工作目录一览!的更多相关文章

  1. python中修改工作目录

  2. VS的工作目录和输出目录

    C+ +项目,解决方案总文件夹下就只包含解决方案配置文件sln和一个项目总文件夹和一个Debug文件夹以及一个Release文件夹(共四个东东,其中Debug和Release文件夹中存放最终生成的结果 ...

  3. VS工作目录,输出目录

    C++项目,解决方案总文件夹下就只包含解决方案配置文件sln和一个项目总文件夹和一个Debug文件夹以及一个Release文件夹(共四个东东,其中Debug和Release文件夹中存放最终生成的结果e ...

  4. Linux命令学习之路——变更工作目录:cd

    使用权限:所有角色 使用方式:cd [ targetDir ] 作用:该命令用于在Linux中切换工作目录 注意点: 1.targetDir代表目标目录,可以采用绝对路径或相对路径表示: 2.当tar ...

  5. Jupyter修改工作目录(Anaconda环境)

    Anaconda安装时未添加环境变量 1.打开Anaconda Prompt 输入jupyter notebook --generate-config (base) C:\Users\Sroxi> ...

  6. QT中QProcess调用命令行的痛苦经历(调用Winrar,设置工作目录,获得输出,注意引号与括号,等等)

    QT中QProcess调用命令行的痛苦经历   阅读目录 创建压缩包的方法 在QT中调用命令行 在QT中调用C++创建的dll 在QT程序中需要将某些目录和文件压缩为一个rar的压缩包,于是想到了在Q ...

  7. C#中得到程序当前工作目录和执行目录的五种方法

    string str="";str += "\r\n" + System.Diagnostics.Process.GetCurrentProcess().Mai ...

  8. 关于pwd命令小技巧-确认当前工作目录的绝对路径中是否包含软链接目录名

    Linux中任何一个命令,当你用心研究到深处时,也许总能有着新的发现或者有趣的用途,如下方的pwd命令 对于pwd命令,大家都知道是用于打印当前的工作目录路径,而且是绝对路径 pwd命令两个选项的,默 ...

  9. 修改Anaconda3中jupyter的工作目录

    1.打开Anaconda Prompt,运行jupyter notebook --generate-config 2.找到当前用户下的.jupter文件夹,打开jupyter_notebook_con ...

随机推荐

  1. Bzoj1823 [JSOI2010]满汉全席

    Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 1640  Solved: 798 Description 满汉全席是中国最丰盛的宴客菜肴,有许多种不同的 ...

  2. Linux、Windows Server Password Security Policy Strengthen

    catalog . windows Security and Protection(Logon and Authentication) . windows密码强制安全策略 . PAM(Pluggabl ...

  3. 帝国CMS文章随机调用等一些常用标签

    1.帝国CMS文章随机调用等一些常用标签 [e:loop={'news',10,18,0,'newstime>UNIX_TIMESTAMP()-86400*7','onclick desc'}] ...

  4. 旅图beta版 asp.net web api 单元测试

    旅图 beta版 asp.net web api 单元测试 测试接口:http://120.27.7.115:1010/Help 测试目的 对每个接口单元进行测试,保证每个接口的可靠性. 单元描述 注 ...

  5. 精通javascript(看书笔记)

    变量的类型检查 //检测类型 var str = "Hello World"; if (typeof str=="string") {//使用typeof来判断 ...

  6. iOS - CAEmitterLayer流星

    效果图: 流星: #pragma mark - loading animation - (void)showLoadingAnimation { CGRect mainBounds = [[UIScr ...

  7. Ubuntu 12.04 root账户开启及密码重设

    以普通用户登录,root账号的开启.关闭和密码设置,命令如下: sudo passwd -u root # 启用root账户 sudo passwd root # 设置root 密码(包括重设) su ...

  8. easyUI 树的上下文菜单

    一.属性:onContextMenu onContextMenu: function(e,node){ e.preventDefault(); $(this).tree('select',node.t ...

  9. C++ 泛型基础

    C++ 泛型基础 泛型的基本思想:泛型编程(Generic Programming)是一种语言机制,通过它可以实现一个标准的容器库.像类一样,泛型也是一种抽象数据类型,但是泛型不属于面向对象,它是面向 ...

  10. C#----XML操作小结

    结点和元素的区别: * 结点和元素的区别:  * 结点包括元素,结点可以是一个文本,也可以是一个属性,结点包括的类型在XmlNodeType中总结.  * <root id="这是一个 ...