batch: Umgebungsvariablen verarbeiten

Dieses Thema batch: Umgebungsvariablen verarbeiten im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von fruitfox, 26. Apr. 2005.

Thema: batch: Umgebungsvariablen verarbeiten Hallo, ich habe folgendes Problem: Ich durlaufe eine Schleife, sagen wir dreimal. Innerhalb dieser Schleife ruf ich...

  1. Hallo,

    ich habe folgendes Problem:
    Ich durlaufe eine Schleife, sagen wir dreimal. Innerhalb dieser Schleife ruf ich mit call eine Batch-Datei auf in der lediglich eine Umgebungsvariable gesetzt wird. Danach frage ich, ebenfalls noch in der Schleife, den neuen Wert der Variable ab. Entweder bekomme ich garnix oder wenn ich das Skript zweimal starte, bekomme ich beim zweiten Mal den Wert des letzten Schleifendurchlaufs. Komischerweise wird der Wert aber intern richtig gesetzt, sprich wenn ich ihn mit SET VARIABLE1 abfrage bekomme ich den richtigen Wert geliefert. Kann mir jemand helfen ?


    for %%s in ( cmc swa int ) do (
    call %%s\script.bat ### Hier wird Wert BASE gesetzt set BASE=ServerX
    set BASE ### richtiger Wert
    echo %BASE% ### falscher Wert
    )


    Wäre prima wenn mir jemand helfen könnte.

    Gruss
    Ulrich
     
  2. Du musst das echo-Kommando in der Batchdatei setzen, in der die Variable definiert wird.
    So wie Du das formuliert hast, dürfte nur immer die letzte Variable angezeigt werden. Batchdateien werden zeilenweise abgearbeitet, dh. hier wird das for-Kommando komplett 3mal durchlaufen und die Variable Base zweimal überschrieben. Der letzte Wert bleibt dann erhalten und wird angezeigt.
     
  3. Aber ich verstehe nicht warum ich mit set ... den richtigen Wert bekomme, aber ihn nicht mit echo ausgeben kann. Beides befindet sich doch innerhalb der Schleife.

    So wie du sagst funktioniert es, aber das nützt mir nicht viel. Mein Ziel ist es mit dem call-Aufruf ein vordefiniertes environment zu setzen und anschließend, nach dem call-Befehl, mit den gesetzen Umgebungsvariablen zu arbeiten.
     
  4. Dann setzt doch 3 verschiedene Variablen, die sich nicht gegenseitig mit dem For-Kommando überschreiben.
     
  5. Ne, geht nicht, da diese Variable später im environment weiter verwendet wird.
    Nun ja, trotzdem danke.
     
Die Seite wird geladen...

batch: Umgebungsvariablen verarbeiten - Ähnliche Themen

Forum Datum
Batchdatei zum setzen von Umgebungsvariablen und Programmstart Windows XP Forum 11. Feb. 2005
Hilfe zu einem einfachen Batchjob gesucht Software: Empfehlungen, Gesuche & Problemlösungen 22. Mai 2016
Dienstneustart in Aufgabe mit Protokoll unter R2008 (Batch) Windows Server-Systeme 5. März 2015
Pfade in Batchdatei Windows 7 Forum 18. Feb. 2015
Dateigröße auslesen mit batch programmierung Software: Empfehlungen, Gesuche & Problemlösungen 6. Feb. 2015