WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   Pfad als Variable in batch (http://www.wcm.at/forum/showthread.php?t=171161)

flinx 06.08.2005 15:27

Versuchs mit
Code:

for /f "tokens=1,* delims==" %%i in ('find "Variable1" .\variable.txt') do (
echo %%i
set z=%%j
echo %z%
)

Inhalt variable.txt:
Variable1=hallo
Variable2=etwas
Variable3=nix

revell 07.08.2005 14:27

Der batch führt bei mir zu folgendem Resultat:
Code:

---------- .\VARIABLE.TXT
ECHO ist ausgeschaltet (OFF).
Variable1
ECHO ist ausgeschaltet (OFF).

Mit FOR Geschichten kenn ich mich noch nicht so gut aus. Hab zwar schon einiges mit google gefunden, aber so richtig geholfen hat mir da auch noch nichts. Nur noch mehr Fragen hab ich jetzt...

Da ich nicht weiß,wie ich Variablen für mein ganzes Projekt in einer eigenen Datei zentral definieren kann hab ich mir mit einem kleinen Workaround-Schummler geholfen. Ich hab alle Variablen in einem Batch definiert und von dort dann einen zweiten Batch (den eigentlichen) mit Parametern aufgerufen. So hab ich das Problem zum Teil bewältigt. (Ich weiß, dass das nicht wirklich sinnvoll ist, aber anders kann ich es leider nicht :()
Das Problem ist nur (neben völliger Ineffizienz), dass ich dann auf 9 Variablen limitiert bin und das würde ich gerne vermeiden. Ich weiß zwar, dass ich mir mit dem SHIFT Befehl helfen könnte, aber dann wird das Ganze endgültig zu kompliziert...

Also, zurück zum eigentlichen Problem und desesn Lösung:
Wie kann ich Variablen aus einer zentralen Datei in einen Batch übernehmen.
(Ich hab's auch mit Umleiten probiert, das hat aber auch nicht wirklich funktioniert...)

flinx 07.08.2005 15:48

Upps str vergessen :) :
Code:

D:\dos>type variable.txt
Variable1=hallo
Variable2=etwas
Variable3=nix
D:\dos>type variable.bat
@echo off
for /f "tokens=1,* delims==" %%i in ('findstr "Variable1" .\variable.txt') do (
echo %%i
set z=%%j
echo %z%
)
D:\dos>variable
Variable1
hallo

Zu for: schau dir mal in der Windows Hilfe die Zusatzmöglichkeiten zum for Befehl an. :)

revell 07.08.2005 19:23

Das hat leider auch icht funktioniert. Ich hab aber weiter gelesen, gesucht und ausprobiert und bin zu folgendem Ergebnis gekommen:
Code:

@echo off
FOR /f %%f IN (variable.txt) DO set %%f
echo %Variable1%
echo %Variable2%
echo %Variable3%

Dieser Code gibt mir dann die drei in "variable.txt" festgehaltenen Variablen auf dem Bildschirm aus.
Hab's zwar noch nicht in meinem eigentlichen Batch getestet, aber eigentlich müßte es so fuktionieren (hoff ich)... :)

Zwei Fragen hätt ich aber noch:
1. Wozu dient der Parameter "/f"?
2. Was sollte ich bezüglich dem Löschen von Variablen wissen?

revell 09.08.2005 14:15

Noch eine Frage, die bei meinen Recherchen und meinem immer schöneren Projekt ;) aufgetaucht ist:
Gibt's eine Möglichkeit den aktuellen Pfad auszulesen?

helios 10.08.2005 14:21

Code:

for /F "tokens=*" %%d in ('cd') do set MEIN_PFAD=%%d
echo %MEIN_PFAD%


revell 11.08.2005 09:27

Natürlich, ;) Danke!


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:19 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag