ct_pc/C# 获取当前目录.txt

67 lines
4.1 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

C# 获取当前目录
一、获取当前文件的路径
1、获得当前执行的exe的文件名
string fileName = Process.GetCurrentProcess().MainModule.FileName;
2、获取和设置当前目录即该进程从中启动的目录的完全限定路径。
string path = Environment.CurrentDirectory;
(备注:按照定义如果该进程在本地或网络驱动器的根目录中启动则此属性的值为驱动器名称后跟一个尾部反斜杠如“C:\”)。如果该进程在子目录中启动,则此属性的值为不带尾部反斜杠的驱动器和子目录路径[如“C:\mySubDirectory”])。
3、获取应用程序的当前工作目录
string path = Directory.GetCurrentDirectory();
4、获取基目录它由程序集冲突解决程序用来探测程序集。
string path = AppDomain.CurrentDomain.BaseDirectory;
5、获取启动了应用程序的可执行文件的路径不包括可执行文件的名称。
string path = Application.StartupPath;
6、获取启动了应用程序的可执行文件的路径包括可执行文件的名称。
string path = Application.ExecutablePath;
7、获取或设置包含该应用程序的目录的名称。
string path = AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName
获取模块的完整路径。
System.Environment.CurrentDirectory
获取和设置当前目录(该进程从中启动的目录)的完全限定目录。
System.IO.Directory.GetCurrentDirectory()
获取应用程序的当前工作目录。
这个不一定是程序从中启动的目录啊有可能程序放在C:\www里,这个函数有可能返回C:\Documents and Settings\ZYB,或者C:\Program Files\Adobe,有时不一定返回什么东东这是任何应用程序最后一次操作过的目录比如你用Word打开了E:\doc\my.doc这个文件此时执行这个方法就返回了E:\doc了。
System.AppDomain.CurrentDomain.BaseDirectory
获取程序的基目录。
System.Windows.Forms.Application.StartupPath
获取启动了应用程序的可执行文件的路径。效果和2、5一样。只是5返回的字符串后面多了一个""而已。
System.Windows.Forms.Application.ExecutablePath
获取启动了应用程序的可执行文件的路径及文件名效果和1一样。
System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase
获取和设置包括该应用程序的目录的名称。
二、操作环境变量
取得系统环境变量方法:
System.Environment.GetEnvironmentVariable()
以下是一些常用的环境变量取值:
System.Environment.GetEnvironmentVariable(“windir”);
System.Environment.GetEnvironmentVariable(“INCLUDE”);
System.Environment.GetEnvironmentVariable(“TMP”);
System.Environment.GetEnvironmentVariable(“TEMP”);
System.Environment.GetEnvironmentVariable(“Path”);
三、应用实例
案例编写了一个WinForm程序项目文件存放于D:\Projects\Demo编译后的文件位于D:\Projects\Demo\bin\Debug最后的结果如下
方法 取得值
System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName D:\Projects\Demo\bin\Debug\Demo.vshost.exe
System.Environment.CurrentDirectory D:\Projects\Demo\bin\Debug
System.IO.Directory.GetCurrentDirectory() D:\Projects\Demo\bin\Debug
System.AppDomain.CurrentDomain.BaseDirectory D:\Projects\Demo\bin\Debug\
System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase D:\Projects\Demo\bin\Debug\
System.Windows.Forms.Application.StartupPath D:\Projects\Demo\bin\Debug
System.Windows.Forms.Application.ExecutablePath D:\Projects\Demo\bin\Debug\Demo.EXE
System.Environment.GetEnvironmentVariable(“windir”) C:\WINDOWS
System.Environment.GetEnvironmentVariable(“INCLUDE”) C:\Program Files\Microsoft Visual Studio.NET 2005\SDK\v2.0\include\
System.Environment.GetEnvironmentVariable(“TMP”) C:\DOCUME1\ADMINI1\LOCALS~1\Temp
System.Environment.GetEnvironmentVariable(“TEMP”) C:\DOCUME1\ADMINI1\LOCALS~1\Temp
System.Environment.GetEnvironmentVariable(“Path”) C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Microsoft SQL Server\90\Tools\binn\