2016-12-23 3 views
0

Windowsのcmdを使用して上位のフォルダ(ディレクトリ)の名前を知る方法はありますか?たとえば、あなたはC:\ A \ B \ CIはい、そこにあるBcmdを使用して上部のフォルダ名を知る方法

+3

このリンクは、[バッチファイルを使用して親フォルダ名を取得します。] ...あなたを助けることがあります(http: //stackoverflow.com/questions/280969/windows-batch-loop-over-folder-string-and-parse-out-last-folder-name) – Opv

答えて

2

を伝えるコマンドを必要とする - forループを使用します。外側のループが1つ上のレベルに行くために必要とされている

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

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

%%~dpJC:\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\..したがってC:\A\Bにequivapentれます。最後に%%~nxIBを再度返します。

2

代わりに、%CD%変数が組み込まれています。コマンドプロンプトから

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

バッチファイルから:

@For %%A In ("%CD%\..\.") Do @(Echo(%%~nxA&Timeout 5 1>Nul) 
関連する問題