Windows-Betriebssystem bietet MS-DOS aus den Tagen seiner Erstellung. MS-DOS ist eine Plattform, die im Allgemeinen als Befehlszeile verwendet wird. MD-DOS haben viele Funktionen, die Programmierfunktionen bietet. In diesem Tutorial werden wir schauen for
Schleife, die Schleife und Aufzählung Fähigkeiten für die Befehlszeile bietet.
Hilfe zur for-Schleife kann wie folgt erhalten werden.,
$ for /?
Syntax
For loop have the following syntax.
FOR %variable IN (set) DO command
-
FOR
specifies the loop -
%variable
used to store value for each step in the loop -
IN (set)
used to provide list for looping., Dies kann eine Dateiliste, eine Benutzerliste oder irgendetwas anderes sein -
DO command
wird verwendet, um Befehle für jeden Schritt auszuführen
Zähle Zahlen und drucke
Wir beginnen mit einem einfachen Beispiel. Wir werden nur eine Liste drucken, die Zahlen von 1 bis 5 enthält . In jedem Schritt wird ein Element in der Liste auf variable gesetzt und die Variable wird mit dem Befehl echo
gedruckt.,
$ for %i IN (1,2,3,4,5) DO echo %i
Wie wir sehen können, wird jeder Schritt in der Schleife als separater Befehl ausgeführt .
Befehl ausführen Für jede Datei
Vorheriges Beispiel hat keinen Nutzen für den täglichen Betrieb. Systemadministratoren wollen in der Regel einen Befehl auf die mehrere Dateien Konten whit eine einfache Art und Weise ausführen. Wir werden Dateien im aktuellen Verzeichnis mit dem Befehl echo
drucken.,
$ for /F %i in ("dir /b *") do echo %i
Befehl für jeden Benutzer ausführen
Wir können auch Befehle für jeden Benutzer ausführen. Wir werden die Benutzerliste bereitstellen, da es keine praktische Möglichkeit gibt, eine Benutzerliste in MS-dos auf bequeme Weise zu generieren. Wir werden Benutzerliste ismail, jack, administrator
. Wir werden Informationen über diese Benutzer mit dem Befehl net user
auflisten.,
$ for %i in (ismail,jack,administrator) do net user %i
Wir erhalten alle Benutzerinformationen einfach, ohne einzeln einzugeben.
Befehl ausführen Für jeden Computer
Wir führen den Befehl ping für jede IP-Adresse oder jeden Hostnamen aus, die von der Liste bereitgestellt werden. Unsere Beispiel-IP-Liste ist 192.168.122.1 , 192.168.122.6
.,
$ for %i in (192.168.122.1 , 192.168.122.66) do ping %i
Liste aus Datei lesen
In früheren Beispielen haben wir zwei Methoden, um eine Liste zu generieren. Eine Methode führt den Befehl aus und stellt das Befehlsergebnis als Liste für die for-Schleife bereit. Eine andere Methode ist das Aufschreiben der Listenelemente nacheinander. Es gibt eine andere Möglichkeit, eine Liste bereitzustellen. Listen Elemente können aus der Datei gelesen werden.
In diesem Beispiel lesen wir Listenelemente aus der Datei hosts.txt
.
hosts.,txt
192.168.122.1192.168.122.66google.com
Wir werden die /F
in der for-Schleife zum Lesen aus der Datei bereitstellen.
$ for /F %i in (hosts.txt) do ping %i
Spaltennummer in einer Datei angeben
Es gibt ein erweitertes Anwendungsbeispiel mit Datei. Die Datei kann mehr als eine Spalte enthalten, die durch verschiedene Trennzeichen getrennt ist. Angegebene Spalten können für Schleife als Listenelement bereitgestellt werden.
In diesem Beispiel haben wir eine Datei, die Benutzernamen und zugehörige Informationen enthält., This information is delimited with ,
. We will provide user names by specifying related column.
users.txt
ismail,baydanjohn,backadministrator,windows
$ for /F "tokens=1 delims=," %i in (users.txt) do net user %i