2014-11-08 119 views
0

我有這樣的文件夾結構:獲取批處理文件的文件夾名稱(版本號)的最簡單方法是什麼?

C:\ SomeFolder \子文件夾\ 版本 \ 版本 _IMS

我在C批處理腳本:\ SomeFolder \子文件夾\ 版本需要進入該目錄版本 _IMS
版本可以例如5.3.12.0和它的變化不是恆定的。所以我不知道它。

我需要在腳本提取的最後一個目錄是在例如5.3.12.0,然後我可以進入5.3.12.0 _IMS。

實現它的最簡單方法是什麼?

回答

1
for %%a in ("%~dp0.") do cd /d "%%~fa\%%~nxa_IMS" 

%~dp0是當前批處理文件

%%~fa的驅動器和路徑是由for替換參數所引用的元素的完整路徑%%a

%%~nxa是可替換參數%%a引用的元素的名稱和擴展名。

所以,我們檢索到包含批處理文件的文件夾的引用,得到該文件夾​​的名稱,並用它來輸入(我已經使用cd)到子文件夾

+0

由於某種原因,這是不工作我用echo替換「cd」並得到:/ d「Folder \ SubFolder \ 5.2.15.37 \\ _ IMS」5.2.15.37 \\ _ IMS是真實的,我替換的另一部分...看起來像是%% 〜nxa不工作... – 2014-11-08 17:02:03

+0

@ilayzeidman,對不起,錯字錯誤。我錯過了包括一個點。答案已更新。 – 2014-11-08 19:10:17

+0

謝謝你的完美! – 2014-11-09 08:08:43

相關問題