在delphi中有一種方法可以確定在哪個文件夾中調用.exe的批處理文件?如何在Delphi中調用批處理文件的路徑?
例如有2個文件夾和一個批處理文件:
c:\application\program.exe
c:\files\data.dat
c:\batch.bat
而且批處理文件的代碼是:
application\program.exe -open "files\data.dat"
然後在Delphi我只想找到「文件\ data.dat文件「作爲commandArgs [0]。有沒有一種方法可以確定批處理文件從哪裏調用我,以便我可以構建完整路徑?
我知道我可以在批處理文件中寫:
application\program.exe -open "%~dp0files\data.dat"
在這種情況下,批處理文件解析路徑,並通過完整路徑德爾福,但沒有那這個問題。
我不明白這個問題。 '%〜dp0'爲您提供了執行批處理文件的路徑,所以我很困惑您遇到了什麼問題。你能詳細闡述一下你真正想傳遞給'-open'參數嗎? – TLama
問題很簡單,我可以知道批處理文件所在的位置哪個叫我嗎?事情是,我不寫批處理文件。我想爲編寫批處理文件的用戶提供便利,以便他不必知道任何有關隱祕批處理命令的知識,即使在這種情況下它很簡單。 – thalm
這沒有任何意義。 'ExtractFilePath(ParamStr這(0))'? – OnTheFly