[GELÖST] aktuelles Verzeichnis in Batchvariable speichern

Hi,

es ist mir zwar grad ECHT peinlich (so richtig!), aber ich schaffe es nicht unter Windows 98 -Second Edition eine Batchtdatei zu schreiben, die das aktuelle Verzeichniss (in dem sie ausgeführt wird) in eine Variable schreibt und diese dann wieder ausgibt.

Die Sachen die ich im Netz gefunden habe, funktionieren nicht:

Code:
set VERZ=%CD%
echo %VERZ%

Und auch:

Code:
cd > temp.txt
set VERZ= < temp.txt
del temp.txt
echo %VERZ%

liefern "ECHO ist eingeschaltet (ON)", also wie bei nur "echo". Das zweite schreibt immerhin das Verzeichniss korrekt in die Datei.

Es ist einfach zum mäusemelken. Ich hoffe mir kann jemand einen Tip geben. Zumindest WARUM es nicht funktioniert.

P.S.: Zum Hintergrund: Ich möchte die profiles.ini von Firefox mit nem Klick auf die Batchdatei so ändern das sie auf ein Profil auf nem Netzlaufwerk weist. Auf C: ist HDGUARD (Festplatte bei jedem booten wieder zurückgesetzt), aber ich habe keine Lust alle Addons/Lesezeichen etc. jedes mal wieder neu einzustellen. Das Netzlaufwerk ist FAST IMMER D:, also könnte ich den Pfad auch hardcoden. Abgesehen davon habe ich allein hier jetzt schon so viele Zeichen getippt, dass es für 50 mal manuelle Änderungen bestimmt gerreicht hätte. Aber jetzt gehts ums Prinzip...
 
konnte windows 98 schon batchscripte dieser art?
mit linux wärs ein einfaches:
pfad=`pwd`
echo $pfad

eventuell gibts unter windows ein pendant zu pwd (print working directory).
 
Naja, MS-DOS "kannte" ja nun schon Batchskripte ;)
Also ich halte das im Prinzip für trivial (bin bloss scheinbar zu dumm).

Das Problem mit dem "umschalten" habe ich auch. Unter Win hab ich nie viel mit Skripts gemacht und natürlich auch gleich pwd probiert ;)

"cd" liefert ohne Parameter das aktuelle Verzeichniss, soweit hab ichs ja (s.o.)
(hatte auch erst rm statt dem del drin stehen...)
 
Schau mal ob Dir das hilft:

Code:
@echo off
echo %cd% > test.txt
set /p VERZ=<test.txt
del test.txt
echo %VERZ%

Ich hoffe ich hab Dich richtig verstanden?! ?(
 
Original von xeno
konnte windows 98 schon batchscripte dieser art?
mit linux wärs ein einfaches:
pfad=`pwd`
echo $pfad

eventuell gibts unter windows ein pendant zu pwd (print working directory).

Die Variable PWD vereinfacht das alles noch etwas .
Code:
~$ echo $PWD
/home/fetzer

Unter Windows gibts den Pendanten %CD%:
Code:
echo %CD%

Warum du den Wert extra noch in einer anderen Variablen speichern willst versteh ich jetzt nur noch nicht...
 
danke erstmal, Leute.
@Opa Knack: Du hast das schon richtig verstanden und dein Code funzt auch soweit... unter XP auf meinem eee-pc... (übrigens die anderen beiden Bsp oben auch ;) ) Auf den Kisten hier im Comp-Raum (bin auf kur) läuft aber leider win98 und der will das ums verrecken nicht fressen :(.

Ich brauchs also nicht wirklich (sogar eher wirklich nicht) dringend und der Aufwand ist jetzt schon ungerechtfertigt, aber nun hat mich numal der Ehrgeiz gepackt...

@fetzer: ich wills in einer Variable um so gegen Ende der batch in etwa das hier zu machen:

Code:
echo Path=%VERZ%\profilnr.default >> profiles.ini

:schwupdi, rüberkopieren auf c:, alte ini löschen

del C:\Windows\Anwendungsdaten\Mozilla\Firefox\profiles.ini
copy profiles.ini C:\Windows\Anwendungsdaten\Mozilla\Firefox\

ABER das ist ja dann die Kür, es fehlt schon die Pflicht: momentan liefert ja das einfache "echo %cd%" nur "ECHO ist eingeschaltet (ON)" der nimmt eben die Syntax nicht. "cd > verz.txt" schreibt das richtige in die Datei, aber "set /p whatever" oder auch nur set schreibt in die Var nullkommagarnix...

Naja, nochmal danke für die Mühe. Wenn ich was rauskriege sach ich Bescheid.
Ich denke das ist zu unwichtig um sich aus mehr als Langeweile damit zu quälen...
 
Ich hab was gefunden im Windows-Tweaks-Forum:

...die cmd.exe von W2K/XP bietet ein Erhebliches mehr als die command.com der Win9X Systeme...
...Bei set nur set x=string, weder set /a noch set /p; insofern auch keine direkte Eingabe oder Rechenoperationen möglich...

vollst. Thread

und ein Hinweis auf diese Batchseite mit recht nützlichen Batchtools.

Mit dem Tool Varset gehts dann z.B. so:

Code:
call var set verz=full of profiles.ini
echo %verz%

Wieder was gelernt, aber ansonsten irgendwie fürn A.... :D

Vielen Dank nochmal für die Beiträge.

P.S.: Wieder einmal ein Beweis, dass gründiches Googeln weiterhilft... Wobei ich zu meiner Verteidigung anführe, das ich erst viele Suchbegriffe ausprobiert habe...
 
Zurück
Oben