Batch-Skript für Schleife wird keine Variable setzen

7

Ich habe ein Batch-Skript, das versucht, von Ameisenhaufen auszuführen, um die Ordnernamen, die plsql enthalten, zu kompilieren.

%Vor%

Diese Echos * VERARBEITUNGSORDNER *

als ob die Variable nicht gesetzt wird, was ich ziemlich sicher bin, nachdem ich viel zu lange damit verbracht habe, sie zu verifizieren

Also ... Was mache ich falsch?

    
Denis DuQuaine 20.09.2012, 18:02
quelle

1 Antwort

23

Dies ist im Wesentlichen ein Duplikat von Frage früher heute gefragt . Hier ist meine Antwort von dieser Frage ...

Sie sollten sich die Option EnableDelayedExpansion für Batch-Dateien ansehen. Aus dem oben genannten Link:

  

Eine verzögerte Variablenerweiterung ist oft nützlich, wenn Sie mit FOR Loops arbeiten. Normalerweise wird eine gesamte FOR-Schleife als einzelner Befehl ausgewertet, auch wenn sie sich über mehrere Zeilen eines Stapel-Skripts erstreckt.

Ihr Skript würde also ungefähr so ​​aussehen:

%Vor%

Als Alternative verwenden Sie einfach die Variable %%a in Ihrer inneren Schleife, anstatt eine neue Variable zu erstellen.

    
Jonah Bishop 20.09.2012, 18:09
quelle

Tags und Links