在Windows(XP及更高版本)的批處理文件需要知道它位於目錄名的父文件夾的名稱,只有文件夾名稱,而不是整個路徑,而不是批處理文件自己命名。獲取當前正在執行的批處理腳本
所以存儲在文件C:\ TEMP \ ABC \ script.cmd應該得到一個變量名 「ABC」。
如何做到這一點?
像%~p0
這樣的常用參數擴展只能提取整個路徑(\ temp \ abc \),它們只能在真實參數(%0,%1,%2 ...)上工作而不能在其他變量上工作,所以它們不能堆疊或組合。所以他們對於這項任務太有限了。 for
命令只能處理從開始處定義位置的標記,而不是「最後」或倒數第二個標記。
用於執行和可移植性的簡單性,它必須是一個批處理文件(.CMD),不PowerShell的。
重複http://stackoverflow.com/questions/3848597/bat-current-folder-name – 2013-02-18 10:55:24
@Kayasax - 有一個更好的方式來獲得父文件夾。 – dbenham 2013-02-18 12:16:59