Ich muss n-mal einen Windows-Befehl in einer bat-Skriptdatei ausführen. Ich weiß, wie man das in verschiedenen Programmiersprachen macht, kann es aber nicht schaffen, es in der Windows-Befehlszeile richtig zu machen :-(
Ich würde sowas auch erwarten
for(int i = 0; i < 100; i++) {
// do something
}
oder auch das (wenn auch nicht ganz ernst)
1.upto(100, {
// do something
})
Vielen Dank!
BEARBEITEN
Ich kann ein Programm in Java, Perl, C oder was auch immer schreiben, das ein Schlägerskript erzeugt, das so aussieht
for %%N in (1 2 3 4 5 6 7 8 9 10 11 12) do echo %%N
und so weiter. Oder noch "besser":
echo 1
echo 2
echo 3
echo 4
echo 5
echo 6
echo 7
echo 8
echo 9
echo 10
echo 11
echo 12
und führen Sie es dann aus ... Aber die Sache ist, dass ich eine kurze Möglichkeit brauche, um einen Bereich von Zahlen anzugeben, durch den ich innerhalb des Skripts iterieren möchte .
Vielen Dank!
Antworten:
Sie können es ähnlich wie folgt machen:
Die 1,1,5 wird dekodiert als:
Beachten Sie auch, dass Sie beim Einbetten in eine Stapeldatei das doppelte Prozentzeichen (%%) als Präfix für Ihre Variablen verwenden müssen. Andernfalls versucht der Befehlsinterpreter, die Variable% i auszuwerten, bevor Sie die Schleife ausführen.
quelle
@
Zeichens unterdrückt auch das Drucken der Befehle, wenn diese über die Befehlszeile ausgeführt werden. "... DO @ (..."%%i
in Ihrem Text einen Kommentar hinzuzufügen, der%i
für die direkte Ausführung in der Befehlszeile vorgesehen ist. Die meisten Benutzer werden es in einer BAT-Datei testen und versuchen, den Grund zu finden, warum sie eine Fehlermeldung erhalten (wie ich).Syntax ist
Guter Artikel hier und XP-Besonderheiten hier
quelle
Direkt von der Kommandozeile:
Verwenden einer Batchdatei:
Zeigt an:
quelle