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
-
FORspecifies the loop -
%variableused 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 commandjest 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