FOR: Een opgegeven opdracht uitvoeren voor elk bestand in een verzameling bestanden.


... "FOR" Fragment uit Microsoft Windows Help
... De voorbeelden voor het commando "FOR"
... Belangrijke informatie, tips voor het "FOR" commando

Het commando: "FOR" staat aan Windows 11, 10, .. beschikbaar

"FOR" Fragment uit Microsoft Windows Help

Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.

C:\\Windows>

Een opgegeven opdracht uitvoeren voor elk bestand in een set 
bestanden.

FOR %variable IN (set) DO opdracht [opdrachtparameters]

%variable Bepaalt een vervangbare parameter van één letter.
(set) Bepaalt een set van één of meer bestanden. 
Jokertekens kunnen
worden gebruikt.
opdracht Bepaalt de opdracht die moet worden uitgevoerd voor 
elk bestand.
opdrachtparameters
Bepaalt de opties of parameters voor de opgegeven 
opdracht.

Als u de opdracht FOR in een batchprogramma wilt gebruiken, moet 
u
%%variable opgeven in plaats van %variable. Variabele-namen maken
onderscheid tussen hoofd- en kleine letters, dus %i is iets 
anders dan %I.

Als opdrachtextensies zijn ingeschakeld, worden de volgende extra
opties van de opdracht FOR ondersteund:

FOR /D %variable IN (set) DO opdracht [opdrachtparameters]

Als de set jokertekens bevat, moeten overeenkomsten worden 
gezocht
in mapnamen in plaats van bestandsnamen.

FOR /R [[station:]pad] %variable IN (set) DO opdracht 
[opdrachtparameters]

Loopt door de mapstructuur, beginnend bij [station:]pad, 
waarbij de
opdracht FOR wordt uitgevoerd in elke map van de structuur. 
Als geen
mapspecificatie is opgegeven na /R wordt aangenomen dat het 
om de
actieve map gaat. Als alleen een punt (.) is ingesteld, wordt 
alleen
de mapstructuur weergegeven.

FOR /L %variable IN (start,step,end) DO opdracht 
[opdrachtparameters]

De set is een volgorde van nummers van begin tot einde, in 
stapgrootte.
Dus (1,1,5) genereert de volgorde 1 2 3 4 5 en (5,-1,1) 
genereert
de volgorde 5 4 3 2 1.

FOR /F ["opties"] %variable IN (bestandsset) DO opdracht 
[opdrachtparameters]
FOR /F ["opties"] %variable IN ("tekenreeks") DO opdracht 
[opdrachtparam.]
FOR /F ["opties"] %variable IN ("opdracht") DO opdracht 
[opdrachtparameters]

of, als optie usebackq aanwezig is:

FOR /F ["opties"] %variable IN (bestandsset) DO opdracht 
[opdrachtparameters]
FOR /F ["opties"] %variable IN ('tekenreeks') DO opdracht 
[opdrachtparam.]
FOR /F ["opties"] %variable IN (`opdracht`) DO opdracht 
[opdrachtparameters]

bestandsnaamset zijn één of meer bestandsnamen. Elk bestand 
wordt
geopend, gelezen en verwerkt voordat het volgende bestand in 
de
bestandsnaamset wordt geopend. Verwerking houdt in het lezen 
in het
bestand, het indelen in afzonderlijke tekstregels en daarna 
het parseren
van elke regel in nul of meer onderdelen. De tekst van de 
FOR-lus wordt
vervolgens aangeroepen met de variabele-waarde(n) die zijn 
ingesteld op
de gevonden token-tekenreeks(en). Standaard zal met /F de 
eerste token
worden overgeslagen, die wordt gescheiden door een spatie. 
Lege regels
worden overgeslagen. U kunt het standaard-parseergedrag 
onderdrukken door
de optionele parameter 'opties' op te geven. Dit is een 
tekenreeks tussen
aanhalingstekens die één of meer trefwoorden bevat om 
verschillende
parseeropties te bepalen. De trefwoorden zijn:

eol=c - bepaalt een einde-regelopmerkingteken
(slechts één)
skip=n - bepaalt het aantal regels dat wordt 
overgeslagen
aan het begin van het bestand.
delims=xxx - bepaalt een set scheidingstekens. Dit 
vervangt de
standaardset scheidingstekens van 
spatie en tab.
tokens=x,y,m-n - bepaalt welke tokens van elke regel 
worden
doorgegeven aan de FOR-tekst voor elke 
iteratie.
Hierdoor worden extra variabele-namen 
toegewezen.
De vorm m-n is een bereik, waarmee de 
m-de t/m
de n-de tokens worden bepaald. Als het 
laatste
teken in de tekenreeks tokens= een 
sterretje is,
wordt een extra variabele toegewezen en 
wordt de
resterende tekst ontvangen op de regel 
na de
laatste geparseerde token.
usebackq - bepaalt of de nieuwe semantiek wordt 
gebruikt,
waarbij teken (`) wordt uitgevoerd als 
een
opdracht en teken (') een letterlijke
tekenreeksopdracht is.
Het gebruik van dubbele 
aanhalingstekens wordt
toegestaan om bestandsnamen in de 
bestandsnaamset
op te geven.

Enkele voorbeelden:

FOR /F "eol=; tokens=2,3* delims=, " %i in (bestand.txt) do
@echo %i %j %k

verwerkt elke regel in bestand.txt, waarbij regels worden 
genegeerd
die beginnen met een puntkomma. Vervolgens worden het tweede 
en derde
token van elke regel doorgegeven aan de FOR-tekst, waarbij de 
tokens
worden gescheiden door komma's en/of spaties. Opmerking: de 
FOR-tekst-
instructies verwijzen naar %i om het tweede token te 
verkrijgen, %j
om het derde token te verkrijgen en %k om alle resterende 
tokens
na het derde token te verkrijgen. Voor bestandsnamen die 
spaties
bevatten, moet u dubbele aanhalingstekens gebruiken. Als u 
dubbele
aanhalingstekens op deze manier wilt gebruiken, moet u de 
optie
usebackq gebruiken omdat anders de dubbele aanhalingstekens 
worden
geïnterpreteerd als een letterlijke tekenreeks om te 
verwerken.

%i wordt uitdrukkelijk opgegeven in de FOR-instructie en %j 
en %k
worden uitdrukkelijk opgegeven via de optie tokens=. U kunt 
maximaal
26 tokens opgeven via de regel tokens=, zolang hierdoor niet 
wordt
geprobeerd om een variabele op te geven die hoger is dan de 
letter
z of Z. Denk eraan dat FOR-variabele-namen onderscheid maken 
tussen
hoofd- en kleine letters, globaal zijn en maar maximaal 52 
tegelijk
actief kunnen zijn.

U kunt ook de FOR /F-parseerlogica toepassen op een nabije 
teken-
reeks, door van de bestandsnaamset tussen haakjes een 
tekenreeks
tussen enkele aanhalingstekens te maken. Deze wordt dan 
behandeld als
een enkele invoerregel van een bestand en geparseerd.

Als laatste kunt u de opdracht FOR /F gebruiken om de uitvoer 
van een
opdracht te parseren. U kunt dit doen door van de 
bestandsnaamset tussen
haakjes een tekenreeks te maken tussen `-aanhalingstekens. 
Deze wordt
dan behandeld als een opdrachtregel, die wordt doorgegeven 
aan een
child-CMD.EXE en waarvan de uitvoer wordt opgevangen in het 
geheugen
en geparseerd alsof het een bestand is. Dus het volgende 
voorbeeld:

FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i

geeft een inventarisatie van de namen van omgevingsvariabelen 
in de
actieve omgeving.

Verder is de vervanging van verwijzingen naar FOR-variabelen 
verbeterd.
U kunt de volgende extra syntaxis gebruiken:

%~I - breidt %I uit waarbij aanhalingstekens (") 
worden 
verwijderd
%~fI - breidt %I uit naar een fully-qualified-padnaam
%~dI - breidt %I alleen uit naar een stationsletter
%~pI - breidt %I alleen uit naar een pad
%~nI - breidt %I alleen uit naar een bestandsnaam
%~xI - breidt %I alleen uit naar een bestandsextensie
%~sI - uitgebreid pad bevat alleen korte namen
%~aI - breidt %I uit naar bestandskenmerken van 
bestand
%~tI - breidt %I uit naar datum/tijd van bestand
%~zI - breidt %I uit naar grootte van bestand
%~$PATH:I - doorzoekt de mappen in omgevingsvariabele PATH 
en breidt
%I uit naar de fully-qualified-naam van het 
eerste
gevonden bestand. Als de naam van de 
omgevingsvariabele
niet is opgegeven of als het bestand niet 
wordt gevonden,
wordt deze wijzigingstoets uitgebreid naar de 
lege
tekenreeks.

De wijzigingstoetsen kunnen worden gecombineerd om samengestelde 
resultaten
te verkrijgen:

%~dpI - breidt %I alleen uit naar een stationsletter en 
pad
%~nxI - breidt %I alleen uit naar een bestandsnaam en 
extensie
%~fsI - breidt %I alleen uit naar een volledige padnaam 
met 
korte namen
%~dp$PATH:i - doorzoekt de mappen in omgevingsvariabele PATH 
naar %I
en breidt uit naar de stationsletter en het 
pad van het
eerste gevonden bestand
%~ftzaI - breidt %I uit naar een op DIR lijkende 
uitvoerregel

In bovenstaande voorbeelden kunnen %I en PATH worden vervangen 
door andere
geldige waarden. De syntaxis %~ wordt afgesloten door een geldige
FOR-variabele-naam. Als u ervoor kiest om hoofdletters te 
gebruiken voor
variabele-namen, zoals %I, wordt het beter leesbaar en minder 
verwarrend
als deze worden gebruikt met de wijzigingstoetsen, waarvoor geen 
onderscheid
wordt gemaakt tussen hoofd- en kleine letters.

De voorbeelden voor het commando "FOR"

De`FOR`opdracht in de Windows-opdrachtprompt wordt gebruikt om batchbestanden in een lus te plaatsen. Hier zijn enkele voorbeelden: Voorbeeld 1: Door bestanden in een map bladeren:

FOR %G IN (map\*) DO ECHO %G

Beschrijving: Met deze opdracht wordt de naam van elk bestand in de opgegeven map afgedrukt. Voorbeeld 2: Door bestanden bladeren met een specifieke bestandsextensie:

FOR %G IN (map\*.txt) DO ECHO %G

Beschrijving: Drukt de naam af van elk tekstbestand in de opgegeven map. Voorbeeld 3: Recursief door bestanden bladeren in submappen:

FOR /R map %G IN (*.txt) DO ECHO %G

Beschrijving: Doorloopt recursief alle submappen van de opgegeven map en drukt de naam van elk tekstbestand af. Voorbeeld 4: Door getallen in een specifiek bereik bladeren:

FOR /L %G IN (1,1,10) DO ECHO %G

Beschrijving: Voert de cijfers van 1 tot 10 uit. Voorbeeld 5: Door tekens in een string bladeren:

FOR %G IN ("Hallo") DO ECHO %G

Beschrijving: Drukt elke letter van het woord "Hallo" af. Voorbeeld 6: Regel voor regel door de bestandsinhoud bladeren:

FOR /F "tokens=*" %G IN (bestand.txt) DO ECHO %G

Beschrijving: Doorloopt de regels van het bestand "File.txt" en voert elke regel uit. Voorbeeld 7: Itereren door omgevingsvariabelen:

FOR %G IN (%PATH%) DO ECHO %G

Beschrijving: Doorloopt de paden in de omgevingsvariabele`PATH`en voert elk pad uit. Voorbeeld 8: Gebruik van`SET`in een lus:

FOR %G IN (1 2 3) DO SET /A Nummer=%G * 2 & ECHO Dubbel van %G is %Nummer%

Beschrijving: Stelt een variabele in`Nummer`naar tweemaal het huidige nummer in de lus en drukt dit af. Voorbeeld 9: Door submappen en bestanden bladeren:

FOR /R %G IN (*) DO ECHO %G

Beschrijving: Doorloopt recursief alle submappen en bestanden in de huidige map. Voorbeeld 10: Geneste lussen:

FOR %G IN (1 2) DO FOR %H IN (A B) DO ECHO %G%H

Beschrijving: Nestt twee lussen en drukt alle combinaties van %G en %H af. Houd er rekening mee dat dit in batchbestanden is`%`door`%%`moet worden vervangen. Bijvoorbeeld:`FOR %G IN (...) DO ECHO %%G`. Er wordt slechts één procentteken gebruikt in de directe prompt (`%`).

Belangrijke informatie, tips voor het "FOR" commando

Bij gebruik van de`FOR`opdracht in de Windows-opdrachtprompt, zijn er een paar belangrijke punten waar u rekening mee moet houden: 1. Syntaxis in batchbestanden: Als u de`FOR`opdracht in een batchbestand moet u`%`door`%%`vervanging. Bijvoorbeeld:`FOR %%G IN (...) DO ECHO %%G`. 2. Gebruik van variabelen: Meestal gebruikt u variabelen (bijv.`%%G`) in de`FOR`-Loop om waarden op te slaan. Merk op dat de variabelen geen toegang hebben tot de toegewezen waarden buiten de lus.

SET Variable=Beginwaarde
FOR %%G IN (Waarde1 Waarde2) DO SET Variable=%%G
ECHO %Variable%

Hier zal`%Variable%`behoud de waarde "beginwaarde" omdat de`SET`-Instructie in een aparte`FOR`lus wordt uitgevoerd. 3. Spaties in paden of bestandsnamen: Als paden of bestandsnamen spaties bevatten, moet het pad of de bestandsnaam tussen aanhalingstekens worden geplaatst om ervoor te zorgen dat ze correct worden geïnterpreteerd.

FOR %%G IN ("Directory met spaties\Bestand met spaties.txt") DO ECHO %%G

4. Opties voor de`FOR /F`-Loop: Als jij`FOR`in verband met de`/F`optie (bijv.`FOR /F "tokens=*" %%G IN (bestand.txt) DO ECHO %%G`), moet u de syntaxis voor de kennen`tokens`En`delims`Pas de opties zorgvuldig aan om de gewenste resultaten te krijgen. 5. Geneste lussen: Bij geneste lussen moet u zorgen voor het juiste gebruik ervan`%`of`%%`let erop dat er in de juiste lus naar de variabelen wordt verwezen.

FOR %%G IN (1 2) DO (
    ECHO Buitenste lus: %%G
    FOR %%H IN (A B) DO ECHO Binnenste lus: %%H
)

6. Einde van bestandsregels in`FOR /F`: Als jij`FOR /F`om regels in een bestand te herhalen, wordt standaard elke regel tot aan de eerste spatie of tab als een token beschouwd. Dit kunt u doen met de optie`delims`aanpassen.

FOR /F "tokens=* delims=" %%G IN (bestand.txt) DO ECHO %%G

7. Variabele opties voor datum en tijd: Als u de`%DATE%`- of`%TIME%`-Variabelen in één`FOR`-Loop, let op de regionale instelling van het systeem, aangezien het formaat kan variëren. 8. Door bestanden bladeren met UTF-8-codering: The`FOR /F`opdracht kan problemen ondervinden bij het doorlopen van bestanden met UTF-8-codering. In dergelijke gevallen is het misschien beter om andere hulpmiddelen te gebruiken, zoals`FINDSTR`gebruiken. Het is belangrijk om rekening te houden met de specifieke vereisten van uw gebruiksscenario en de`FOR`- Pas de lus dienovereenkomstig aan. Jij kan`FOR /?`in de opdrachtprompt om volledige hulp en alle beschikbare opties te bekijken.


Deutsch
English
Español
Français
Italiano
日本語 (Nihongo)
한국어 (Hangugeo)
汉语 (Hànyǔ)
Türkçe
Português
Português
Svenska
Norsk
Dansk
Suomi
Nederlands
Polski









Windows-10


... Windows 10 FAQ
... Windows 10 How To


Windows 10 How To


... Windows 11 How To
... Windows 10 FAQ



De opdracht FOR - Een opgegeven opdracht uitvoeren voor elk bestand in een verzameling bestanden.

HTTP: ... console/nl/032.htm
0.14
18863

Download Windows-8 / 8.1 version for testing?

Navigationsbereich, eg Verzeichnisstruktur im Explorer bei Windows 8.1 wieder anzeigen!

Modify the Windows 8.1 / 10 desktop!

Copy Windows 8.1 and 10 directory view settings for all directorys, (match, transfer)?

Modify the size of the icons in the task bar of Windows 8.1 and 10!

Kann man Programm und Treiber im Kompatibilitätsmodus installieren bei Win 8 / 8.1?



(0)