有時,我們在編寫C#程序時,經(jīng)常要知道當(dāng)前程序所在的目錄,以便進行下一步的操作,這種情況尤其是在進行文件操作時用得更多,下面就給出7個方法來獲取當(dāng)前路徑,可是這其中方法在使用時不盡相同,大家在使用時要多加以測試和區(qū)別。
string str1 =Process.GetCurrentProcess().MainModule.FileName;//可獲得當(dāng)前執(zhí)行的exe的文件名。
string str2=Environment.CurrentDirectory;//獲取和設(shè)置當(dāng)前目錄(即該進程從中啟動的目錄)的完全限定路徑。
//備注 按照定義,如果該進程在本地或網(wǎng)絡(luò)驅(qū)動器的根目錄中啟動,則此屬性的值為驅(qū)動器名稱后跟一個尾部反斜杠(如"C:/")。如果該進程在子目錄中啟動,則此屬性的值為不帶尾部反斜杠的驅(qū)動器和子目錄路徑(如"C:/mySubDirectory")。
string str3=Directory.GetCurrentDirectory();//獲取應(yīng)用程序的當(dāng)前工作目錄,如果程序在執(zhí)行過程中發(fā)生目錄的轉(zhuǎn)換,如程序調(diào)用了一個app1目錄下的一個子程序,則會返回app1目錄的。
string str4=AppDomain.CurrentDomain.BaseDirectory;//獲取基目錄,它由程序集沖突解決程序用來探測程序集。
string str5=Application.StartupPath;//獲取啟動了應(yīng)用程序的可執(zhí)行文件的路徑,不包括可執(zhí)行文件的名稱。
string str6=Application.ExecutablePath;//獲取啟動了應(yīng)用程序的可執(zhí)行文件的路徑,包括可執(zhí)行文件的名稱。
string str7=AppDomain.CurrentDomain.SetupInformation.ApplicationBase;//獲取或設(shè)置包含該應(yīng)用程序的目錄的名稱。
|
新聞熱點
疑難解答
圖片精選