2016-12-23 71 views
0

有沒有什麼辦法通過windows的cmd知道上層文件夾(目錄)的名稱是什麼?比如你是在C:\ A \ B \ CI需要告訴B中的命令如何通過cmd知道上層文件夾的名稱

+3

此鏈接可以幫助您...... [使用批處理文件獲取父文件夾的名稱。(HTTP: //stackoverflow.com/questions/280969/windows-batch-loop-over-folder-string-and-parse-out-last-folder-name) – Opv

回答

2

是的,有 - 用for循環:

set "FOLDER=C:\A\B\C" 

for %%J in ("%FOLDER%") do for %%I in ("%%~dpJ.") do echo(%%~nxI 

需要外環去上一級如%%~dpJ擴展爲C:\A\B\;讓我們附加一個.,如%%~dpJ.得到C:\A\B\.,相當於C:\A\B;最後,需要內循環來檢索參考目錄的純名稱,因爲%%~nxI返回B


也可以使用一個for循環:

set "FOLDER=C:\A\B\C" 

for %%I in ("%FOLDER%\..") do echo(%%~nxI 

..意味着一個級別,並因此被C:\A\B\C\..到equivapent C:\A\B;最後,%%~nxI再次返回B

2

另一種方法是使用內置的%CD%變量。

從命令提示符:

For %A In ("%CD%\..\.") Do @Echo(%~nxA 

從一個批處理文件:

@For %%A In ("%CD%\..\.") Do @(Echo(%%~nxA&Timeout 5 1>Nul) 
相關問題