Jump to content

FOR-Schlaufe mit Setzen einer Variable


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo allerseits

 

Ich habe da ein Problem mit dem Einlesen einer Variable in einer FOR-Schleife:

 

c:\temp\servers.txt #Textfile mit allen Servern

c:\temp\servers1.txt #Hier steht derjenige Wert drin, den ich als Variable gesetzt haben möchte.

______________________________________________

 

Das ist mein Script:

@echo on

set ServersFile=c:\temp\servers.txt

for /f %%i in (c:\temp\servers.txt) do (

Set /P PathVar=<c:\temp\%%i.txt

echo %PathVar%

)

 

 

Frage: Warum erscheint mit "echo %PathVar%" nicht die gesetzt Variable? Wenn ich hingegen den Batch um ein "set" erweitere und mir so die gesetzten Variablen anzeigen lassen, dann habe ich der Variable "PathVar" einen Wert zugeteilt. Was ich festgestellt habe: Das Setzen bzw. Einlesen der Variable durch "set /P BLABLA=<c:\irgendwas.txt" funktioniert nur in einer Schleife nicht. Weiss hier jemand, wie ich diese Variable auch in einer Schleife durch Einlesen einer Datei setzen kann?

 

Danke im Voraus.

Hannesj

Link zu diesem Kommentar

Hallo,

 

in der Hilfe zum SET Befehl hab ich das hier gefunden:

 

Die verzögerte Erweiterung von Umgebungsvariablen erlaubt es, eine

Umgebungsvariable, unter Verwendung eines weiteren Zeichens (dem

Ausrufezeichen), zur Laufzeit zu erweitern. Mit aktivierter verzögerter

Erweiterung von Umgebungsvariablen können obige Beispiele wie folgt geschrieben

werden:

 

set VAR=vorher

if "%VAR%" == "vorher" (

set VAR=nachher

if "!VAR!" == "nachher" @echo Es funktioniert!

)

 

set LISTE=

for %i in (*) do set LISTE=!LISTE! %i

echo %LISTE%

 

Evtl. hilft dir das ja.

 

Grüße,

JohnDie

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...