2016-07-06 5 views
0

Ich versuche, den Namen eines Ordners aus meinem aktuellen Pfad zu entfernen und ihn an einen Befehl in einem Stapel-Skript zu übergeben. Mein aktueller Pfad:Wie bekomme ich den Namen eines übergeordneten Ordners aus dem aktuellen Pfad in einem Batch-Skript?

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

und ich möchte den Namen des Ordners GetThisName bekommen und es in einen Befehl übergeben. Im Moment kann ich den Namen des Ordners mit diesem Skript erhalten:

::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% ... 

Aber ich frage mich, ist es eine elegantere Möglichkeit, den Namen des Ordners zu erhalten, ohne Ordner zu verschieben? in der Nähe von

Antwort

1

so ...

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

Hinweis: lassen Sie die letzten \

+0

Vielen Dank! Das hat perfekt funktioniert! – jencoston

Verwandte Themen