標籤:
1、取得控制台應用程式的根目錄方法
方法1、Environment.CurrentDirectory 取得或設定當前工作目錄的完整限定路徑
方法2、AppDomain.CurrentDomain.BaseDirectory 擷取基目錄,它由程式集衝突解決程式用來探測程式集
2、取得Web應用程式的根目錄方法
方法1、HttpRuntime.AppDomainAppPath.ToString();//擷取承載在當前應用程式定義域中的應用程式的應用程式目錄的物理磁碟機路徑。用於App_Data中擷取
方法2、Server.MapPath("") 或者 Server.MapPath("~/");//返回與Web伺服器上的指定的虛擬路徑相對的物理檔案路徑
方法3、Request.ApplicationPath;//擷取伺服器上ASP.NET應用程式的虛擬應用程式根目錄
3、取得WinForm應用程式的根目錄方法
1、Environment.CurrentDirectory.ToString();//擷取或設定當前工作目錄的完全限定路徑
2、Application.StartupPath.ToString();//擷取啟動了應用程式的可執行檔的路徑,不包括可執行檔的名稱
3、Directory.GetCurrentDirectory();//擷取應用程式的當前工作目錄
4、AppDomain.CurrentDomain.BaseDirectory;//擷取基目錄,它由程式集衝突解決程式用來探測程式集
5、AppDomain.CurrentDomain.SetupInformation.ApplicationBase;//擷取或設定包含該應用程式的目錄的名稱
其中:以下兩個方法可以擷取執行檔案名稱
1、Process.GetCurrentProcess().MainModule.FileName;//可獲得當前執行的exe的檔案名稱。
2、Application.ExecutablePath;//擷取啟動了應用程式的可執行檔的路徑,包括可執行檔的名稱
-------------------------------------------------------------------------------------------------------------------------
以上是從網上隨便找別人的總結的,下面是自己工作中遇到的問題,自己做了個控制台程式,然後用工作排程器定時執行,執行的時候發現產生的路徑和直接執行控制台產生的檔案路徑不一致!
最開始用的System.IO.Directory.GetCurrentDirectory(); 發現產生的路徑是相對於 ,工作排程器的相對路徑,然後換成Environment.CurrentDirectory 返現路徑是 進程的啟動路徑,
最後AppDomain.CurrentDomain.BaseDirectory 終於把問題解決了,這個是擷取項目 的 基目錄
c# 擷取路徑的幾種方法