2010-10-16 7 views

Antwort

20

Mit Batch-Dateien werden Variablen erweitert, wenn ihr Befehl gelesen wird - also wäre das, sobald die for ausgeführt wird. An diesem Punkt sagt es nicht mehr echo %first%, es sagt wörtlich echo 0, weil das der Wert am Punkt der Expansion war.

Um dies zu umgehen, müssen Sie die verzögerte Erweiterung verwenden, indem Sie Ihren Variablennamen mit ! anstelle von % umgeben - das wäre also echo !first!. Dazu müssen Sie möglicherweise cmd.exe mit dem Parameter/V starten oder am Anfang der Batch-Datei setlocal enabledelayedexpansion verwenden (kurz nach echo off).

Wenn Sie set /? eingeben, sehen Sie am Ende der Ausgabe eine viel detailliertere Erklärung.

Verwandte Themen