99046
Goto Top

Kompletten Pfad des übergeordneten Ordners ermitteln

Hallo zusammen,
mit
@echo off
set SD=%~dp0
echo %SD%
for /d %%A in (%SD%..) do set PDir=%%~nxA
echo %PDir%
habe ich [ z.B. in diesem Fall ] den folgenden Output:
C:\Programme\7-Zip\Lang\
7-Zip
... also den NAMEN des übergeordneten Ordners -
wie erhalte ich den kompletten Pfad, also "C:\Programme\7-Zip\" ?

Hat jemand einen Tip ? Danke.

Gruß, Rob

Content-ID: 175037

Url: https://administrator.de/forum/kompletten-pfad-des-uebergeordneten-ordners-ermitteln-175037.html

Ausgedruckt am: 22.04.2025 um 09:04 Uhr

bastla
bastla 20.10.2011 um 22:03:36 Uhr
Goto Top
Hallo rob400!

Etwa so:
@echo off & setlocal
set "SD=%~dp0"  
echo %SD%
for /d %%A in ("%SD%..") do set "PDir=%%~fA"  
echo %PDir%
Solltest Du Wert darauf legen, dass sich am Ende von %PDir% ein "\" befindet, kannst Du noch die Zeile
if "%PDir:~-1%" neq "\" set "PDir=%PDir%\"
hinzufügen ...

Falls übrigens %SD% nicht für andere Zwecke benötigt wird, könntest Du auch gleich
for /d %%A in (%0\..\..) do set "PDir=%%~fA"
verwenden.

Grüße
bastla

[Edit] Zur Sicherheit noch einige Anführungszeichen nachgelegt [/Edit]
99046
99046 20.10.2011 um 22:28:54 Uhr
Goto Top
Hallo bastla,

klasse, genau so !
Was Du + andere hier mal locker aus 'dem Ärmel' holen ist spitze. face-smile

Danke !

Gruß, Rob
Skyemugen
Skyemugen 21.10.2011 um 08:46:03 Uhr
Goto Top
Aloha bastla & Rob,

ach, ich geb ihm noch die wenn-man-die-doppeltgeklickte-batch-aus-ihrem-Verzeichnis-eh-ausführt-Variante face-wink

for /d %%a in (..) do echo %%~fa

@TE je nachdem von wo man die betreffende Batch mit der Zeile ausführt, erhält man das übergeordnete Verzeichnis der aktiven Batch (oder auch vom aktiven cmd-prompt) und wenn du das Ganze mit einem Punkt machst, erhälst du logischerweise das aktuelle Verzeichnis der Ausführung (bei bastla wäre dies, wenn du einmal \.. wegnimmst).

Das Thema hier ist zwar gelöst aber eventuell brauchst du diese Spielereien ja mal face-wink

greetz André
99046
99046 21.10.2011 um 11:28:38 Uhr
Goto Top
Hallo André,

auch gut!
brauch ich sicher mal.

Danke.

Greetz Rob