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-Key: 121459

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

Printed on: April 19, 2024 at 07:04 o'clock

Member: bastla
bastla Jul 28, 2009 at 08:28:08 (UTC)
Goto Top
Hallo PH!

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

Grüße
bastla
Member: torch88
torch88 Jul 30, 2009 at 17:33:11 (UTC)
Goto Top
Müsste glaub ich mit %cd% auch funktionieren, oder?
Member: pieh-ejdsch
pieh-ejdsch Aug 01, 2009 at 01:06:09 (UTC)
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..
Member: chrisButterfly
chrisButterfly May 11, 2018 at 10:12:24 (UTC)
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