Wat is de syntaxis voor een FOR-lus in een Windows-batchbestand?
Antwoord 1, autoriteit 100%
FOR %%A IN (list) DO command parameters
lijst is een lijst van alle elementen, gescheiden door spaties, komma’s of puntkomma’s.
opdracht kan elke interne of externe opdracht zijn, een batchbestand of zelfs – in OS/2 en NT – een lijst met opdrachten
parameters bevat de opdrachtregelparameters voor opdracht.
In dit voorbeeld wordt het commando eenmaal uitgevoerd voor elk element in de lijst, met gebruik van parameters indien gespecificeerd.
Een speciaal type parameter (of zelfs commando) is %%A, dat achtereenvolgens door elk element uit de lijst wordt vervangen.
Van FOR-lussen
Antwoord 2, autoriteit 96%
Als je iets x keer wilt doen, kun je dit doen:
Voorbeeld (x = 200):
FOR /L %%A IN (1,1,200) DO (
ECHO %%A
)
1,1,200
betekent:
- Begin = 1
- Verhoging per stap = 1
- Einde = 200
Antwoord 3, autoriteit 38%
Type:
for /?
en u krijgt meerdere pagina’s met helptekst.
Antwoord 4, autoriteit 31%
Voer een opdracht meerdere keren voorwaardelijk uit.
-
syntaxis-FOR-Files
FOR %%parameter IN (set) DO command
-
syntaxis-FOR-Files-Rooted at Path
FOR /R [[drive:]path] %%parameter IN (set) DO command
-
syntaxis-VOOR-Mappen
FOR /D %%parameter IN (folder_set) DO command
-
syntaxis-FOR-Lijst met getallen
FOR /L %%parameter IN (start,step,end) DO command
-
syntaxis-FOR-bestandsinhoud
FOR /F ["options"] %%parameter IN (filenameset) DO command
of
FOR /F ["options"] %%parameter IN ("Text string to process") DO command
-
syntaxis-FOR-Command Resultaten
FOR /F ["options"] %%parameter IN ('command to process') DO command
Het
- Neem een set gegevens
- Maak een FOR-parameter
%%G
gelijk aan een deel van die gegevens - Voer een commando uit (optioneel gebruik de parameter als onderdeel van het commando).
- –> Herhaal dit voor elk gegevensitem
Als u het FOR-commando op de opdrachtregel gebruikt in plaats van in een batchprogramma, gebruik dan slechts één procentteken: %G
in plaats van %%G
.
VOOR parameters
-
De eerste parameter moet worden gedefinieerd met een enkel teken, bijvoorbeeld de letter G.
-
FOR %%G IN
…In elke iteratie van een FOR-lus wordt de
IN ( ....)
-clausule geëvalueerd en%%G
ingesteld op een andere waardeAls deze clausule resulteert in een enkele waarde, wordt %%G gelijk gesteld aan die waarde en wordt de opdracht uitgevoerd.
Als de clausule resulteert in meerdere waarden, worden impliciet extra parameters gedefinieerd om elk te behouden. Deze worden automatisch toegewezen in alfabetische volgorde
%%H %%I %%J
…(impliciete parameterdefinitie)Als de parameter naar een bestand verwijst, kan de verbeterde variabeleverwijzing worden gebruikt om de bestandsnaam/pad/datum/grootte te extraheren.
Je kunt natuurlijk elke letter van het alfabet kiezen, behalve
%%G
. maar het is een goede keuze omdat het niet in strijd is met de letters van het padnaamformaat (a, d, f, n, p, s, t, x) en de langste reeks niet-conflicterende letters biedt voor gebruik als impliciete parameters .
Antwoord 5, autoriteit 11%
FOR
geeft je alle informatie die je ooit nodig zult hebben om meer te weten te komen over FOR-lussen, inclusief voorbeelden van correct gebruik.
Antwoord 6, autoriteit 9%
Probeer deze code:
@echo off
color 02
set num1=0
set num2=1
set terminator=5
:loop
set /a num1= %num1% + %num2%
if %num1%==%terminator% goto close
goto open
:close
echo %num1%
pause
exit
:open
echo %num1%
goto loop
num1
is het getal dat moet worden verhoogd en num2
is de waarde die wordt toegevoegd aan num1
en terminator is de waarde waarbij de num1
zal eindigen. U kunt in deze instructie een andere waarde voor terminator aangeven (if %num1%==%terminator% goto close
). Dit is de booleaanse uitdrukking goto close is het proces als de boolean waar is en goto open is het proces als de boolean onwaar is.
Antwoord 7, autoriteit 4%
@echo off
echo.
set /p num1=Enter Prelim:
echo.
set /p num2=Enter Midterm:
echo.
set /p num3=Enter Semi:
echo.
set /p num4=Enter Finals:
echo.
set /a ans=%num1%+%num2%+%num3%+%num4%
set /a avg=%ans%/4
ECHO %avg%
if %avg%>=`95` goto true
:true
echo The two numbers you entered were the same.
echo.
pause
exit
Antwoord 8, autoriteit 4%
Van FOR /?
helpdocument:
VOOR %variabele IN (set) DO commando [command-parameters]
%variable Specificeert een vervangbare parameter van één letter.
(set) Specificeert een set van een of meer bestanden. Er kunnen jokertekens worden gebruikt.
opdracht Specificeert de opdracht die voor elk bestand moet worden uitgevoerd.
opdrachtparameters
Specificeert parameters of schakelaars voor de opgegeven opdracht.
Als u het FOR-commando in een batchprogramma wilt gebruiken, geeft u in plaats daarvan %%variabele op
van %variabele. Namen van variabelen zijn hoofdlettergevoelig, dus %i is anders
van mij.
Als opdrachtextensies zijn ingeschakeld, zijn de volgende
vormen van het FOR-commando worden ondersteund:
FOR /D %variabele IN (set) DO commando [command-parameters]
If set contains wildcards, then specifies to match against directory
names instead of file names.
FOR /R [[drive:]path] %variabele IN (set) DO commando [command-parameters]
Walks the directory tree rooted at [drive:]path, executing the FOR
statement in each directory of the tree. If no directory
specification is specified after /R then the current directory is
assumed. If set is just a single period (.) character then it
will just enumerate the directory tree.
VOOR /L %variabele IN (start,step,end) DO commando [command-parameters]
The set is a sequence of numbers from start to end, by step amount.
So (1,1,5) would generate the sequence 1 2 3 4 5 and (5,-1,1) would
generate the sequence (5 4 3 2 1)