WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   variablen + call in batch (http://www.wcm.at/forum/showthread.php?t=171569)

revell 09.08.2005 15:05

variablen + call in batch
 
Hallo Alle,

Wenn ich in einem batch mit CALL einen anderen batch aufrufe, werden dann Variablen für den neuen batch übernommen?

Vielen Dank & lg,
revell

helios 10.08.2005 15:04

ja, variablen die du im aufrufenden skript (mit set command) definierst sind im (per call) aufgerufenen skript auch bekannt.

revell 11.08.2005 10:28

Danke!

revell 11.08.2005 10:31

Verschachtelung von Variablen
 
Hallo Alle,

Ich habe eine Variable in einem Batch, die ich mit einer anderen Variable verschachteln möchte.
Code:

set var1=wert1
set var2=%var1%wert2

Ich bilde mir, ein, dass das gehen müsste, doch irgendwie funktioniert es doch nicht.
Wer hat recht, mein Unterbewusstsein oder meine DOS Shell? ;)

Vielen Dank & lg,
revell

helios 11.08.2005 13:27

ja das geht schon so

revell 11.08.2005 13:37

Hmmm, irgendwas hat's dann... Bekomme nämlich als Resultat:
Code:

%var1%wert2

helios 11.08.2005 13:41

weiss nicht, aber wenn ich dein code-schnipsel ausführe bekomme ich das richtige ergebnis:

Code:

C:\>set var1=wert1

C:\>set var2=%var1%wert2

C:\>echo %var2%
wert1wert2


revell 11.08.2005 16:36

Mir kommt gerade die Idee, dass unter Umständen das Problem daran liegen könnte, dass ich die Variablen nicht direkt im Batch setze, sondern mir das Ganze per FOR --> SET aus einer INI Datei hole.
In der INI steht
Code:

var1=wert1
var2=%var1%wert2


helios 11.08.2005 22:11

wie schaut denn der code aus?

revell 11.08.2005 22:22

Möglicherweise liegt der Hund auch wo anders begraben. Bin gerade dabei Zeile für Zeile zu analysieren.
Bei folgendem Code erhalte ich einen Syntaxfehler
Code:

cd "C:\Program Files\System Check\plug-ins\wget"
Verstehe überhaupt nicht warum... :confused:

Dobi 12.08.2005 07:57

ich denke bim lz von "system check" is der hund begraben??

helios 12.08.2005 09:31

also die syntax müsste schon passen. der pfad kann ruhig leerzeichen enthalten, wenn das ganze unter hochkommas steht, was hier ja der fall ist.

welche fehlermeldung kommt denn genau?

helios 12.08.2005 19:43

die for schleife im batch hat auch einige fehler, gerade mit variablen, vielleicht liegts auch daran

revell 13.08.2005 20:14

Ich hab die FOR Schleife zum testen komplett rausgenommen und weise die Variablen direkt im Batch zu.
Abgesehen davon hab ich in der Zeile, in der die Fehlermeldung kommt überhaupt keine Variable im Code.
Führ ich die Zeile getrennt in einem eigenen Batch aus hab ich auch keine Probleme. :confused:

@ Dobi: "lz"?

@ helios: Die Fehlermeldung lautet einfach
Zitat:

Syntaxfehler

revell 13.08.2005 20:56

Fehler gefuden:
Schuld waren fehlende Anfürungszeichen bei langen Pfad- und Dokumentennamen mit Leerzeichen.

Die Variablen hatte ich folgendermaßen definiert:
Code:

set var1="Wert1"
set var2="Wet2"
set var3="Wert3"

In den Code hatte ich sie so eingefügt:
Code:

echo %Wert%
Bei genauerer Prüfung habe ich festgestellt, dass die Anführungszeichen aus der Definition nicht in den Batch übernommen werden. Ich habe die Variablen im Code nochmals unter Anführungszeichen gesetzt und dann hat es auch tatsächlich funktioniert... :)

Ich nähre mich schön langsam dem Ende und somit einem funktinierendem Batch. :)

Mal sehen, was noch so alles nicht funktioniert... ;)

Danke erstmals!
lg, revell

revell 15.08.2005 22:58

Oder aber ich bin weiter entfernt denn je... :(

Ich habe genau das gleiche Problem wieder wie oben.
Doch obige Lösung war gar keine...
Keine Ahnung wie ich das zusammengebracht habe... :heul:

Also nochmals:
Ich lese meine Variablen mittels FOR Schleife aus einer .INI Datei aus. Das funktioniert soweit.
Nur werden verschachtelte Variablen nicht ganz aufgelöst. Und so komm ich dann zu folgendem Ergebnis:
Code:

@echo off
set home=C:\Home
set home=C:\Home
set files=%home%\data

echo %files%

und ausgegeben wird das Ganze als
Zitat:

%home%\data
Ob ich's unter Anführungszeichen setz oder nicht ist wirscht... Ich weiß wirklich nicht mehr weiter... :heul:

helios 16.08.2005 09:26

hi, zeig mal deinen code her bitte, sonst kann man nur ins blaue hinein raten.

Don Manuel 16.08.2005 10:04

Zitat:

Original geschrieben von helios
hi, zeig mal deinen code her bitte, sonst kann man nur ins blaue hinein raten.
full ack
weil für die FOR-Schleife fehlt mir da irgendwo das %%.


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:52 Uhr.

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