System operacyjny Windows udostępnia MS-DOS już od pierwszych dni jego tworzenia. MS-DOS jest platformą powszechnie używaną jako wiersz poleceń. MD-DOS posiada wiele funkcji, które zapewniają możliwości programowania. W tym samouczku poszukamy for
pętli, która zapewnia możliwości zapętlania i wyliczania dla wiersza poleceń.
pomoc o pętli for można uzyskać jak poniżej.,
$ 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., Może to być Lista plików, Lista użytkowników lub cokolwiek innego DO command
jest używany do uruchamiania poleceń dla każdego kroku
Policz Liczby i wydrukuj
zaczniemy od prostego przykładu. Po prostu wydrukujemy listę zawierającą numery od 1 do 5 . W każdym kroku jeden element listy jest ustawiany na zmienną i zmienna zostanie wydrukowana za pomocą polecenia echo
.,
$ for %i IN (1,2,3,4,5) DO echo %i
jak widać każdy krok w pętli jest uruchamiany jako osobne polecenie .
Uruchom polecenie dla każdego pliku
poprzedni przykład nie ma żadnych korzyści dla codziennych operacji. Administratorzy systemu zazwyczaj chcą uruchomić polecenie na wielu kontach plików trochę w prosty sposób. Wydrukujemy pliki znajdujące się w bieżącym katalogu za pomocą polecenia echo
.,
Uruchom polecenie dla każdego użytkownika
możemy uruchom również polecenia dla każdego użytkownika. Dostarczymy listę użytkowników, ponieważ nie ma praktycznego sposobu na wygenerowanie listy użytkowników w ms-dos w wygodny sposób. Dostarczymy listę użytkowników ismail, jack, administrator
. Będziemy wyświetlać informacje o tych użytkownikach za pomocą polecenia net user
.,
$ for %i in (ismail,jack,administrator) do net user %i
uzyskamy wszystkie informacje o użytkownikach bez wpisywania jeden po drugim.
Uruchom polecenie dla każdego komputera
uruchomimy polecenie ping dla każdego adresu IP lub nazwy hosta podanego przez Listę. Nasza przykładowa lista IP to 192.168.122.1 , 192.168.122.6
.,
$ for %i in (192.168.122.1 , 192.168.122.66) do ping %i
przeczytaj listę z pliku
W poprzednie przykłady mamy dwie metody generowania listy. Jedną z metod jest uruchomienie polecenia i podanie wyniku polecenia jako listy do pętli for. Inną metodą jest zapisywanie elementów listy jeden po drugim. Istnieje inny sposób dostarczenia listy. Elementy listy można odczytywać z pliku.
w tym przykładzie odczytamy elementy listy z pliku o nazwie hosts.txt
.
hosty.,txt
192.168.122.1192.168.122.66google.com
dostarczymy /F
w pętli for do odczytu z pliku.
$ for /F %i in (hosts.txt) do ping %i
podaj numer kolumny w pliku
jest zaawansowany przykład użycia z plikiem. Podany plik może mieć więcej niż jedną kolumnę, która jest oddzielana różnymi ogranicznikami. Określone kolumny mogą zawierać pętlę jako element listy.
w tym przykładzie mamy plik, który zawiera nazwy użytkowników i powiązane informacje., 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