如何在C#中获取“当前目录”(转)

Posted on 2009-03-26 15:12  云之上  阅读(406)  评论(0编辑  收藏  举报

首先要弄清你对“当前目录”(Current Directory)的定义是什么。

◆工作目录
你的应用程序正在哪个目录下工作。这个目录并不一定是EXE文件所在的目录,而且在程序运行中是可以改变的。

System.IO.Directory类提供了GetCurrentDirectory方法,该方法是对Win32 API的GetCurrentDirectory函数的一个封装。
此外,System.Environment类提供了CurrentDirectory属性,由于该属性内部调用的就是System.IO.Directory.GetCurrentDirectory(),因此二者是等价的。

最后还有一个方法:
System.IO.Path.GetFullPath(".\\")

◆被执行的EXE文件所在的目录。
如果是WinForm,可以使用System.Windows.Forms.Application类提供的StartupPath属性。

此外,AppDomain.BaseDirectory属性也可以获得EXE文件所在的目录。

 

用string strFilePath =System.IO.Directory.GetCurrentDirectory();

当单独执行 可以,
当用添加/删除的时候 错误,因为 添加删除的 程序 调用此命令 所以 目录是
添加/删除的 目录 而非命令的 目录

改成 string strFilePath = AppDomain.CurrentDomain.BaseDirectory;
后无论哪个情况 都OK了

 

Copyright © 2024 云之上
Powered by .NET 8.0 on Kubernetes