voor Loops in Windows met MS-DOS-opdrachtprompt

Windows-besturingssysteem biedt MS-DOS vanaf eenvoudige dagen na de oprichting. MS-DOS is een platform over het algemeen gebruikt als een command line. MD-DOS heeft veel functies die programmeermogelijkheden bieden. In deze tutorial zullen we for lus zoeken die looping en Enumeratie mogelijkheden biedt voor de opdrachtregel.

Help about for loop kan get zijn zoals hieronder.,

$ for /?
Help

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., Dit kan een bestandenlijst, gebruikerslijst of iets anders zijn
  • DO command wordt gebruikt om opdrachten uit te voeren voor elke stap

Tel getallen en druk

We zullen beginnen met een eenvoudig voorbeeld. We zullen gewoon een lijst afdrukken die nummers van 1 tot 5 bevat . In elke stap is één element in de lijst ingesteld op variabele en de variabele zal worden afgedrukt met echo Commando.,

$ for %i IN (1,2,3,4,5) DO echo %i
Tel getallen

zoals we kunnen zien wordt elke stap in de lus uitgevoerd als een apart Commando .

commando uitvoeren voor elk bestand

vorig voorbeeld heeft geen voordeel voor dagelijkse operaties. Systeembeheerders willen over het algemeen een commando uitvoeren op de meerdere bestanden accounts op een eenvoudige manier. We zullen bestanden in de huidige map afdrukken met echo Commando.,

$ for /F %i in ("dir /b *") do echo %i
commando uitvoeren voor elk bestand

commando uitvoeren voor elke gebruiker

We kunnen ook commando ‘ s uitvoeren voor elke gebruiker. Wij zullen de gebruikerslijst verstrekken omdat er geen praktische manier is om gebruikerslijst in ms-dos op een geschikte manier te produceren. We zullen gebruikerslijst ismail, jack, administrator geven . We zullen informatie over deze gebruikers weergeven met net user Commando.,

$ for %i in (ismail,jack,administrator) do net user %i
commando uitvoeren voor elke gebruiker

we krijgen alle gebruikersinformatie gemakkelijk zonder één voor één te typen.

commando uitvoeren voor elke Computer

We zullen het commando ping uitvoeren voor elk IP-adres of hostnaam die door de lijst wordt opgegeven. Ons voorbeeld IP-lijst is 192.168.122.1 , 192.168.122.6 .,

$ for %i in (192.168.122.1 , 192.168.122.66) do ping %i
commando uitvoeren voor elke Computer

Read List From File

in vorige voorbeelden hebben we twee methoden om te genereren lijst. Een methode is het uitvoeren van commando en het verstrekken van de opdracht resultaat als een lijst aan voor loop. Een andere methode is het opschrijven van de lijst elementen een voor een. Er is een andere manier om lijst te verstrekken. Lijsten elementen kunnen worden gelezen uit het bestand.

in dit voorbeeld lezen we lijstelementen uit bestand met de naam hosts.txt .

hosts.,txt

192.168.122.1192.168.122.66google.com

We geven de /F in de lus om uit het bestand te lezen.

$ for /F %i in (hosts.txt) do ping %i
leeslijst uit bestand

kolomnummer opgeven in een bestand

Er is een voorbeeld van geavanceerd gebruik met een bestand. Het opgegeven bestand kan meer dan één kolom bevatten die is afgebakend met verschillende scheidingstekens. Gespecificeerde kolommen kunnen voorzien voor lus als lijst element.

in dit voorbeeld hebben we een bestand met gebruikersnamen en gerelateerde informatie., 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
Specify Column Number In A File

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *