pieh-ejdsch
Goto Top

Aktuellen Pfad der CMD - Batch auslesen und als Variable übergeben

Wie war denn nochmal der Aktuelle Pfad.
Für Sicherungsaufgaben ist es von vorteil, wenn der Aktuelle Pfad mit geloggt ist.
manchmal benötigt man auch den Pfad für andere Zwecke.

da ich darüber nirgends etwas gefunden habe...
den Aktuellen Pfad brauche ich jetzt wiedermal für irgendetwas.

am Prompt
for /f "tokens=2,*" %i in ('dir /a:d ') do @if "%i"=="von" set "AKTPFAD=%j"  

im Batch
for /f "tokens=2,*" %%i in ('dir /a:d ') do if "%%i"=="von" set "AKTPFAD=%%j"  

wie unten bemerkt ist die Variable CD genau dafür vorgesehen
echo Pfad: "%%CD%"  

Nachtrag:
Die Batchdatei selbst wird folgendermassen angegeben:
echo %0
Der Pfad der Batchdatei demnach mit:
echo "%~dp0"

Gruß Phil

Content-ID: 121459

Url: https://administrator.de/contentid/121459

Ausgedruckt am: 21.11.2024 um 17:11 Uhr

bastla
bastla 28.07.2009 um 10:28:08 Uhr
Goto Top
Hallo PH!

Mir würde
set "AKTPFAD=%cd%"
genügen ...

Grüße
bastla
torch88
torch88 30.07.2009 um 19:33:11 Uhr
Goto Top
Müsste glaub ich mit %cd% auch funktionieren, oder?
pieh-ejdsch
pieh-ejdsch 01.08.2009 um 03:06:09 Uhr
Goto Top
über Set /? ist mir jetzt auch so einiges mehr klargeworden...
was ist aber, wenn nun dummerweise die Umgebungsvariable CD gesetzt wird?
gut das kommt vllt gar nicht vor.
aber wenn dann lösche ich die Variable CD einfach wieder ...
die einzige andere Sache wäre, das die Schleife auch nur den Root oder auch nur den Pfad ausgibt..
chrisButterfly
chrisButterfly 11.05.2018 um 12:12:24 Uhr
Goto Top
testfile.bat
@echo ------------------------------------------------------------------------------------------------------------------------------------------------

@echo waehle die ausgefuehrte Datei zb. zum erneutem Starten der ausgefuehrte Datei aus
start " " %0
pause

@echo wechsle auf e
cd /D "E:"
pause

@echo wechsle in den ordner der ausgefuerten datei
cd /D "%~dp0"

pause
@echo wechsle auf e
cd /D "E:"
pause

@echo wechsel auf das beim echo angegebene CD Verzeichnis, hier auf e
cd /D "%CD%"
pause