獲取目錄,遇到的坑

2021-09-25 11:40:50 字數 3028 閱讀 5939

//1.獲取模組的完整路徑。 

system.diagnostics.process.getcurrentprocess().mainmodule.filename;

//e:\工作目錄\newtfs\h2控制台應用程式\kill\bin\debug\kill.vshost.exe

//2.獲取和設定當前目錄(該程序從中啟動的目錄)的完全限定目錄

system.environment.currentdirectory;

//e:\工作目錄\newtfs\h2控制台應用程式\kill\bin\debug

//3.獲取應用程式的當前工作目錄

system.io.directory.getcurrentdirectory();

//e:\工作目錄\newtfs\h2控制台應用程式\kill\bin\debug

//4.獲取程式的基目錄

//e:\工作目錄\newtfs\h2控制台應用程式\kill\bin\debug\

//5.獲取和設定包括該應用程式的目錄的名稱

//e:\工作目錄\newtfs\h2控制台應用程式\kill\bin\debug\

//6.獲取啟動了應用程式的可執行檔案的路徑

//e:\工作目錄\newtfs\h2控制台應用程式\kill\bin\debug

//7.獲取啟動了應用程式的可執行檔案的路徑及檔名

//e:\工作目錄\newtfs\h2控制台應用程式\kill\bin\debug\kill.exe

這些獲取目錄的,網上一查一大把,簡單清晰明了。

自己寫的乙個簡單的任務計畫的服務,就是讀取乙個配置裡面的資訊,定時去呼叫對應路徑的控制台應用程式。

so沒遇到什麼詭異的問題,自己也用了一年多了也沒覺得有什麼問題。

今天遇到的是,同事跑來跟我說沒有執行他的exe,我去查了日誌,的確是呼叫過了,為什麼沒執行?然後我就大致看看了他的**也沒發現什麼問題,單獨執行也正常。

讓同事找日誌發過來

- - 102620

0x80000000000000

13692

iz3mxld2ji6o3bz

- 應用程式: ***xx.exe framework 版本: v4.0.30319 說明: 由於未經處理的異常,程序終止。異常資訊: system.unauthorizedacces***ception 在 system.io.__error.winioerror(int32, system.string) 在 system.io.filestream.init(system.string, system.io.filemode, system.io.fileaccess, int32, boolean, system.io.fileshare, int32, system.io.fileoptions, security_attributes, system.string, boolean, boolean, boolean) 在 system.io.filestream..ctor(system.string, system.io.filemode, system.io.fileaccess, system.io.fileshare, int32, system.io.fileoptions, system.string, boolean, boolean, boolean) 在 system.io.streamwriter.createfile(system.string, boolean, boolean) 在 system.io.streamwriter..ctor(system.string, boolean, system.text.encoding, int32, boolean) 在 system.io.streamwriter..ctor(system.string, boolean) 在 ***xx.program.write(system.datetime, system.string, system.string) 在 ***xx.program.main(system.string)

i/o  寫檔案?難道是目錄錯了?

結果他的路徑使用的是system.environment.currentdirectory;去獲取的

最後我得到的結果是我服務下面的目錄,然後根本找不到那個exe,坑坑坑!

做了下測試:

建立了2個控制台應用程式,分別輸出上面那一堆目錄,第乙個去呼叫第二個。

第乙個exe輸出的日誌:

e:\工作目錄\newtfs\h2控制台應用程式\kill\bin\debug\kill.exe

e:\工作目錄\newtfs\h2控制台應用程式\kill\bin\debug

e:\工作目錄\newtfs\h2控制台應用程式\kill\bin\debug

e:\工作目錄\newtfs\h2控制台應用程式\kill\bin\debug\

e:\工作目錄\newtfs\h2控制台應用程式\kill\bin\debug\

e:\工作目錄\newtfs\h2控制台應用程式\kill\bin\debug

e:\工作目錄\newtfs\h2控制台應用程式\kill\bin\debug\kill.exe

呼叫第二個exe輸出的日誌:

e:\工作目錄\newtfs\h2控制台應用程式\kill2\bin\debug\kill2.exe

e:\工作目錄\newtfs\h2控制台應用程式\kill\bin\debug

e:\工作目錄\newtfs\h2控制台應用程式\kill\bin\debug

e:\工作目錄\newtfs\h2控制台應用程式\kill2\bin\debug\

e:\工作目錄\newtfs\h2控制台應用程式\kill2\bin\debug\

e:\工作目錄\newtfs\h2控制台應用程式\kill2\bin\debug

e:\工作目錄\newtfs\h2控制台應用程式\kill2\bin\debug\kill2.exe

system.environment.currentdirectory;

system.io.directory.getcurrentdirectory();

mac mysql更改了目錄所遇到的坑

之前安裝的目錄為 usr local develope mysql 後來改了下目錄 同時也改了mysql資料夾名 現在為 usr local develope develop mysql5.6 同時data目錄還是在的 配置檔案已經修改 mysql在安裝或者啟動的時候沒有指定配置檔案時候 預設找的配...

整合個推遇到的坑 獲取不到cid

最近專案整合個推 按照官網的整合文件 整合完畢後 一直獲取不到cid 我是在android studio中整合的 官網提供的demo可以獲取到 於是乎 我對比兩個apk 發現lib下面的so包沒有打進apk 官網是放在jinlibs目錄下面的 我自己建立了乙個jinlibs目錄 然後把so包考進去 ...

joda time遇到的坑

system.out.println datetime.parse 2015092408 datetimeformat.forpattern yyyymmddhh getmillis system.out.println datetime.parse 2015092408 datetime form...