Name des übergeordneten Ordners ermitteln - Funktionierender Ansatz soll entschlackt werden
Ziel ist es, den Name des dem batchfile übergeordneten Ordners ausfindig zu machen - unabhänig davon, wo das batchfile hinterlegt ist (=> %~dp0%)
Mein Lösungsansatz ist leider etwas umständlich und ich bin mir sicher, dass das Problem effizienter gelöst werden kann.
G E L Ö S T ! ! !
Falls jemand selbiges Problem hat: Beitrag durchlesen und %~dp0% durch %cd% ersetzen und den von mir erwähnten one liner benutzen
Entschuldigt, dass ich erst einen Tick zu spät auf die Lösung kam.
Hallo zusammen,
im Prinzip steht die Aufgabenstellung schon komplett im "kurzen persönlichen Vorwort", deshalb springe ich sofort zu dem von mir erarbeiteten Code:
Durch die Suche kam ich zu folgendem one liner:
Jedoch eröffnet sich hier das Problem, dass durch
Ich bin auf eure Ideen und Vorschläge gespannt!
Gruß
Mein Lösungsansatz ist leider etwas umständlich und ich bin mir sicher, dass das Problem effizienter gelöst werden kann.
G E L Ö S T ! ! !
Falls jemand selbiges Problem hat: Beitrag durchlesen und %~dp0% durch %cd% ersetzen und den von mir erwähnten one liner benutzen
Entschuldigt, dass ich erst einen Tick zu spät auf die Lösung kam.
Hallo zusammen,
im Prinzip steht die Aufgabenstellung schon komplett im "kurzen persönlichen Vorwort", deshalb springe ich sofort zu dem von mir erarbeiteten Code:
:startordner
SET token=0
SET urspr=a
SET urspr2=b
:subroutine
IF "%urspr%" NEQ "%urspr2%" (
for /f "delims=" %%a IN ('cd') DO set urspr=%%a
cd ..
for /f "delims=" %%b in ('cd') DO set urspr2=%%b
SET /a token +=1
) ELSE (GOTO endroutine)
GOTO subroutine
:endroutine
FOR /F "tokens=%token% delims=\" %%c in ("%~dp0") DO SET ordnername=%%c
cd "%~dp0%"
goto continue
Durch die Suche kam ich zu folgendem one liner:
for /d %%A in (!varSource!) do set varLastPfad=%%~nxA
%~dp0%
ein \
am ende des Pfades steht und dieser Code für meine Ansprüche nicht genügt. Der back slash lässt sich sicherlich wegbekommen, nur wüsste ich nicht, wie ich das ähnlich elegant lösen könnte. Daher wäre es vermutlich am einfachsten für euch, hier anzusetzen.Ich bin auf eure Ideen und Vorschläge gespannt!
Gruß
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 173856
Url: https://administrator.de/contentid/173856
Ausgedruckt am: 22.11.2024 um 16:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo Terence-Chill!
Was spräche gegen
Mehr dazu mit "
Als Alternative:
Wenn es aber überhaupt nur darum gehen soll, in den übergeordneten Ordner zu wechseln, dann einfach
Grüße
bastla
Was spräche gegen
if "%varLastPfad:~-1%"=="\" set "varLastPfad=%varLastPfad:~,-1%"
set /?
" ...Als Alternative:
for %%i in ("%~0\..") do set "varLastPfad=%%~fi"
if "%varLastPfad:~-1%"=="\" set "varLastPfad=%varLastPfad:~,-1%"
cd "%~0\..\.."
bastla