.NET中的工作目录一览!
定义: 当前工作目录——进行某项操作的目的目录,会随着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中的工作目录一览!的更多相关文章
- python中修改工作目录
- VS的工作目录和输出目录
C+ +项目,解决方案总文件夹下就只包含解决方案配置文件sln和一个项目总文件夹和一个Debug文件夹以及一个Release文件夹(共四个东东,其中Debug和Release文件夹中存放最终生成的结果 ...
- VS工作目录,输出目录
C++项目,解决方案总文件夹下就只包含解决方案配置文件sln和一个项目总文件夹和一个Debug文件夹以及一个Release文件夹(共四个东东,其中Debug和Release文件夹中存放最终生成的结果e ...
- Linux命令学习之路——变更工作目录:cd
使用权限:所有角色 使用方式:cd [ targetDir ] 作用:该命令用于在Linux中切换工作目录 注意点: 1.targetDir代表目标目录,可以采用绝对路径或相对路径表示: 2.当tar ...
- Jupyter修改工作目录(Anaconda环境)
Anaconda安装时未添加环境变量 1.打开Anaconda Prompt 输入jupyter notebook --generate-config (base) C:\Users\Sroxi> ...
- QT中QProcess调用命令行的痛苦经历(调用Winrar,设置工作目录,获得输出,注意引号与括号,等等)
QT中QProcess调用命令行的痛苦经历 阅读目录 创建压缩包的方法 在QT中调用命令行 在QT中调用C++创建的dll 在QT程序中需要将某些目录和文件压缩为一个rar的压缩包,于是想到了在Q ...
- C#中得到程序当前工作目录和执行目录的五种方法
string str="";str += "\r\n" + System.Diagnostics.Process.GetCurrentProcess().Mai ...
- 关于pwd命令小技巧-确认当前工作目录的绝对路径中是否包含软链接目录名
Linux中任何一个命令,当你用心研究到深处时,也许总能有着新的发现或者有趣的用途,如下方的pwd命令 对于pwd命令,大家都知道是用于打印当前的工作目录路径,而且是绝对路径 pwd命令两个选项的,默 ...
- 修改Anaconda3中jupyter的工作目录
1.打开Anaconda Prompt,运行jupyter notebook --generate-config 2.找到当前用户下的.jupter文件夹,打开jupyter_notebook_con ...
随机推荐
- ES5/ES6的区别研究(ECMAScript)
我所理解的概念应该是语法的区别和特性的区别 这里是ECMAScript的解析http://baike.baidu.com/item/ECMAScript 参考: (ES6)http://es6.rua ...
- 在打开vs解决方案时,怎样让所以打开的项目自动折叠
使用VS 2010中的扩展性,搜PowerCommands,PowerCommands扩展在Visual Studio 2010中添加了数十个有用的的命令, Collapse Projects(折叠项 ...
- 洛谷P1629 邮递员送信
题目描述 有一个邮递员要送东西,邮局在节点1.他总共要送N-1样东西,其目的地分别是2~N.由于这个城市的交通比较繁忙,因此所有的道路都是单行的,共有M条道路,通过每条道路需要一定的时间.这个邮递员每 ...
- MyBB \inc\class_core.php <= 1.8.2 unset_globals() Function Bypass and Remote Code Execution(Reverse Shell Exploit) Vulnerability
catalogue . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 MyBB's unset_globals() function ca ...
- Busting Frame Busting: a Study of Clickjacking Vulnerabilities on Popular Sites
Busting Frame Busting Reference From: http://seclab.stanford.edu/websec/framebusting/framebust.pdf T ...
- Allegro使用技巧
1.可以把outline及螺丝孔位置做成单独的mechanical symbol.因为板子外形和螺丝孔位置,多是从机构工程师手里拿来的DXF,新建mechanical symbol后,导入DXF到bo ...
- HDU 1548 A strange lift (最短路/Dijkstra)
题目链接: 传送门 A strange lift Time Limit: 1000MS Memory Limit: 32768 K Description There is a strange ...
- 淘宝npm镜像
来源:https://cnodejs.org/topic/4f9904f9407edba21468f31e 镜像使用方法(三种办法任意一种都能解决问题,建议使用第三种,将配置写死,下次用的时候配置还在 ...
- JZOJ 1312:关灯问题
传送门 少见的DP再DP题目.题面不短,但是可以看出来这是一道DP题.而且正解的算法复杂度应该是$O(N^3)$.而且给了部分$O(N^4)$的算法的分.可以看出来要AC是要在DP上加上优化的. 设$ ...
- SQL 字段保留下划线后部分
select SUBSTRING(b.SUMMARY,0,charindex('_',b.SUMMARY))as SUMMARY from UltimusDB.dbo.INCIDENTS b