回答
從您的批處理文件中:
%cd%
會給你current working directory(變量)%~dp0
會給 你的完整路徑的批處理文件的目錄(靜態)
這是您從何處開始批處理文件的目錄。例如。如果你的批次是c:\dir1\dir2
而你的確做了cd c:\dir3
,那麼運行批處理,當前目錄將是c:\dir3
。
它通常是從中啓動批處理文件的目錄,但如果從快捷方式啓動批處理文件,則可以給出不同的起始目錄。另外,當你在cmd中,並且當前目錄是c:\dir3
時,仍然可以使用c:\dir1\dir2\batch.bat
啓動批處理文件,在這種情況下,當前目錄將爲c:\dir3
。
假設您正在打開當前目錄中的文件。命令將是:
start %cd%\filename.filetype
我希望我回答你的問題。
在一個批處理文件,%CD%是當前目錄中最常用的命令,但你可以設置自己的變量:
set mypath=%cd%
echo %mypath% (where %mypath% is the current directory that the batch file is sitting in)
所以說你想打開MYPROG.EXE。如果是在同一個文件夾,你可以使用命令:
start %mypath%\Myprog.exe
這會從當前文件夾打開MYPROG。
另一種選擇是在C中創建一個名爲AutomatePrograms的目錄。然後,您將文件傳送到該文件夾,那麼你可以使用下面的命令來打開它們:
start C:\AutomatePrograms\Myprog1.exe
start C:\AutomatePrograms\Myprog2.exe
start C:\AutomatePrograms\Myprog3.exe
正如在這裏的最佳答案中所指出的那樣,'%cd%'是可變的,所以從Windows資源管理器以admin身份運行批處理文件將給出'C:\ WINDOWS \ system32'這幾乎肯定不是你想要的。 '%〜dp0'更一致。 – icc97 2018-02-27 09:14:07
它是從運行執行批處理文件命令的目錄。
如上面的答案中提到,您可以添加下面的命令腳本來驗證:
> set current_dir=%cd%
> echo %current_dir%
- 1. 如何列出批處理文件中當前目錄的所有父目錄
- 2. 運行批處理文件並刪除當前父目錄
- 3. 以當前目錄的管理員身份運行批處理文件(.bat)
- 4. 如何在批處理文件中更改爲當前用戶的目錄
- 5. 在IronScheme中加載源文件的當前目錄是什麼?
- 6. 批處理文件到多個目錄
- 7. 批處理文件目錄擴展
- 8. 目錄列表批處理文件
- 9. 如何測試文件是批處理腳本中的目錄?
- 10. 批處理文件清理垃圾文件的Unity目錄
- 11. 批處理文件運行目錄中的每個.REG文件
- 12. 批處理文件重命名給定目錄中的文件
- 13. Windows批處理文件 - 如何遍歷目錄中的文件?
- 14. 從批處理文件連接多個目錄中的文件
- 15. 如何使用批處理文件更改當前工作目錄
- 16. 在批處理文件中使用SetDelayedExpansion:處理包含!的目錄/文件名!
- 17. %〜d0在Windows批處理文件中的含義是什麼?
- 18. 什麼是批處理文件中的「%1」和「%2」?
- 19. 批處理文件查找並複製文件到當前目錄以外的目的地
- 20. 批處理文件從文件名和目錄中讀取
- 21. 如何檢查文件/目錄是否在批處理腳本
- 22. 命令行在批處理文件中的正確目錄中調用批處理文件
- 23. 作爲批處理文件中當前目錄的UNC路徑,請求管理員權限
- 24. Mule批處理 - 在批處理塊中處理記錄並彙總到文件
- 25. 運行給定目錄中的所有批處理文件
- 26. 刪除批處理文件中目錄樹的最快方法
- 27. 從輸出刪除目錄中的批處理文件
- 28. 製作目錄(批處理)中的文件列表?
- 29. 批處理目錄中的所有文件
- 30. 這個批處理文件代碼是做什麼的?
@Јοеу - '%0'可以給當前子程序的名字,但是'%〜dp0'將**總是**給出正在執行的批處理文件的完整路徑。 – dbenham 2013-06-12 11:19:52
實際上,它看起來像%〜dp0給出執行批處理文件所在的*目錄*的完整路徑。%〜dpnx0(相當於%〜f0)給出了批處理文件的完整路徑。有關更多詳細信息,請參閱http://www.robvanderwoude.com/parameters.php。 – deadlydog 2013-07-11 20:08:56
另請參見類似問題的詳細答案:[獲取Windows批處理腳本(.bat)中傳遞的參數列表](http:// stackoverflow。com/q/357315/938111) – olibre 2013-09-23 15:37:23