2016-07-06 10 views
0

現在のパスからフォルダの名前を取得し、バッチスクリプトのコマンドに渡そうとしています。私の現在のパスは、次のとおりです。バッチスクリプトの現在のパスから上位のフォルダの名前を取得するにはどうすればよいですか?

C:\TopDir\NextDir\AppDir\GetThisName\src\main\resources\batchScripts\ 

と私は、フォルダGetThisNameの名前を取得し、コマンドにそれを渡したいです。現時点では私はこのスクリプトを使用して、フォルダの名前を取得できます。

::Save the current path 
set mypath=%~dp0 

::get the name of the folder five levels up 
FOR %%V IN ("%~dp0..\..\..\..\") DO set shortPath=%%~dpV 
cd %shortPath% 
for %%* in (.) do set FolderName=%%~nx*= 

::Go back to original location 
cd %mypath% 

::Pass FolderName to command 
java .... -o %FolderName% ... 

しかし、私は思っていた、フォルダを移動せずに、フォルダの名前を取得するために、よりエレガントな方法はありますか?

答えて

1

ので、近く...

FOR %%V IN ("%~dp0..\..\..\..") DO set "foldername=%%~nxV" 
echo %foldername% 

注:省略最後\

+0

ありがとうございました!それは完璧に働いた! – jencoston

関連する問題