如何从批处理脚本中的当前路径中获取更高级别文件夹的名称?

时间:2016-07-06 13:55:30

标签: windows batch-file cmd

我正在尝试从当前路径中获取文件夹的名称,并将其传递给批处理脚本中的命令。我目前的路径是:

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 个答案:

答案 0 :(得分:1)

如此接近...

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

注意:省略最后\