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?
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.
Tags und Links batch-file for-loop anthill