FOR: Kjører en bestemt kommando for hver fil i et sett av filer.


... "FOR" Utdrag fra Microsoft Windows Hjelp
... Eksemplene for kommandoen "FOR"
... Viktig informasjon, tips for "FOR"-kommandoen

Kommandoen: "FOR" er på Windows 11, 10, .. tilgjengelig

"FOR" Utdrag fra Microsoft Windows Hjelp

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

C:\\Windows>

Kjører en angitt kommando på hver enkelt fil i en gruppe med 
filer.

FOR %variabel IN (sett) DO kommando [kommandoparametere]

%variabel Angir en en-bokstavsparameter som kan erstattes.
(sett) Angir en gruppe med en eller flere filer. 
Jokertegn er tillatt.
kommando Angir kommandoen som skal brukes for hver enkelt 
fil.
kommandoparametere
Angir parameterne eller bryterne for angitt 
kommando.

Hvis du vil bruke FOR-kommandoen i en satsvis fil, angir du 
%%variabel
i stedet for %variabel. Variabelnavn skiller mellom store og små 
bokstaver,
så %i er forskjellig fra %I

Hvis kommandoutvidelser er aktivert, vil følgende tilleggsformer
av FOR-kommandoen støttes:

FOR /D %variabel IN (sett) DO kommando [kommandoparametere]

Hvis settet inneholder jokertegn, vil det bli satt til å
gi treff på mappenavn i stedet for filnavn.

FOR /R [[stasjon:]bane] %variabel IN (sett) DO kommando 
[kommandoparametere]

Går igjennom mappetreet med rot [stasjon:]bane, og utfører 
FOR-setningen
i hver mappe i treet. Hvis ingen mappespesifikasjon er 
angitt
etter /R, antas gjeldende mappe.
Hvis settet bare inneholder et punktum (.), vil det bare 
telle opp
mappetreet.

FOR /L %variabel IN (start,steg,slutt) DO kommando 
[kommandoparametere]

Settet er en sekvens av tall fra start til slutt, med angitt 
steg.
For eksempel vil (1,1,5) generere sekvensen 1 2 3 4 5 og (5,-
1,1)
vil generere sekvensen (5 4 3 2 1).

FOR /F ["altern."] %variabel IN (filsett) DO kommando 
[kommandoparametere]
FOR /F ["altern."] %variabel IN ("streng") DO kommando 
[kommandoparametere]
FOR /F ["altern."] %variabel IN ('kommando') DO kommando 
[kommandoparametere]

eller hvis alternativet usebackq finnes:

FOR /F ["altern."] %variabel IN (filsett) DO kommando 
[kommandoparametere]
FOR /F ["altern."] %variabel IN ('streng') DO kommando 
[kommandoparametere]
FOR /F ["altern."] %variabel IN (`kommando`) DO kommando 
[kommandoparametere]

Filsett er ett eller flere filnavn. Hver fil åpnes, leses og 
behandles
før neste fil i filsettet påbegynnes. Behandlingen omfatter 
lesing av
filen, oppdeling i separate tekstlinjer, og deretter 
nedbryting av hver
enkelt linje til null eller flere tokener. Innholdet i FOR-
løkken kalles
deretter med variabelverdiene satt til tokenstrengene som ble 
funnet.
Som standard sender /F det første tokenet atskilt med 
mellomrom fra hver
linje i hver fil. Tomme linjer ignoreres. Du kan overstyre 
standard-
analyseringsmåten ved å angi den valgfrie parameteren 
"altern.". Dette er
en streng mellom anførselstegn, som inneholder en eller flere 
nøkkelord
for å angi forskjellige analyseringsparametere. Nøkkelordene 
er:

eol=c - Angir et kommentartegn for linjeslutt
(bare ett)
skip=n - Angir antall linjer som skal hoppes 
over i
begynnelsen av filen.
delims=xxx - Angir et avgrensningssett. Dette 
erstatter standard
avgrensningssett som er mellomrom og 
tabulator.
tokens=x,y,m-n - Angir hvilke tokener fra hver linje som 
skal sendes
til FOR-innholdet for hver gjentakelse. 
Dette
medfører at flere variabelnavn blir 
tildelt.
M-n angir et intervall fra token nr. m 
til og med n.
Hvis det siste tegnet i "tokens="-
strengen er en
stjerne (*), tildeles en ekstra 
variabel som mottar
resten av teksten på linjen etter det 
sist analy-
serte tokenet.
usebackq - Angir at ny semantikk gjelder, hvor en 
steng som er
omsluttet av grave aksenter (`), kjøres 
som en kom-
mando, og strenger omsluttet av enkle 
anførselstegn,
er en litteralstrengkommando, og 
tillater bruk av
doble anførselstegn for filnavn i 
filnavnsett.

Noen eksempler som kan hjelpe:

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

Dette analyserer hver linje i Myfile.txt, ignorerer linjer 
som begynner
med et semikolon, sender 2. og 3. token fra hver linje til 
FOR-innholdet,
med tokenene atskilt med komma og/eller mellomrom. Legg merke 
til FOR-
innholdets referanse %i for å hente 2. token, %j for å hente 
3. token,
og %k for å hente alle resterende tokener etter den 3. 
Filnavn som inne-
holder mellomrom må omsluttes med doble anførselstegn ("). 
For å kunne
bruke doble anførselstegn på denne måten, må du også bruke 
alternativet
usebackq, ellers vil de doble anførselstegnene tolkes som en 
definisjon
av en litteralstreng som skal analyseres.

%i deklareres eksplisitt i FOR-setningen, og %j og %k 
klareres
implisitt gjennom alternativet "tokens=". Du kan angi opptil 
26 tokener
ved hjelp av "tokens="-linjen, forutsatt at det ikke prøver å 
deklarere
en variabel som er høyere enn bokstaven "z" eller "Z". Husk 
at FOR-
variabelnavn har én bokstav, skiller mellom store og små 
bokstaver, er
globale, og at du ikke kan ha mer en 52 av dem aktive 
samtidig.

Du kan også bruke analyselogikken FOR /F på en umiddelbar 
streng, ved å
omslutte filnavnsettet mellom parentesene med enkle 
anførselstegn. Den
vil bli behandlet som en enkelt inndatalinje fra en fil, og 
analysert.

Du kan bruke FOR /F-kommandoen til å analysere utdata fra en 
kommando.
Dette gjøres ved å omslutte filnavnsettet mellom parentesene 
med gravis-
aksenter (`). Den vil bli behandlet som en kommandolinje, som 
deretter
sendes til en underordnet Cmd.exe, og utdata lagres i minnet 
og analyseres
som om det var en fil. Eksempel:

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

Dette vil liste opp miljøvariabelnavnene i gjeldende miljø.

Erstatting av FOR-variabelreferanser er også forbedret. Du kan nå 
bruke
følgende valgfrie syntaks:

%~I - Utvider %I, og fjerner omsluttende 
anførselstegn (").
%~fI - Utvider %I til et fullstendig banenavn.
%~dI - Utvider %I til bare en stasjonsbokstav.
%~pI - Utvider %I bare til en bane.
%~nI - Utvider %I bare til et filnavn.
%~xI - Utvider %I bare til en filtype.
%~sI - Utvidet bane inneholder bare korte navn.
%~aI - Utvider %I til filens filattributter.
%~tI - Utvider %I til filens dato/klokkeslett.
%~zI - Utvider %I til filens størrelse.
%~$PATH:I - Søker gjennom mappene som er listet opp i 
miljø-
variabelen PATH, og utvider %I til det 
fullstendige
navnet på den første filen som blir funnet. 
Hvis
miljøvariabelen ikke er definert, eller hvis 
filen
ikke finnes, utvider denne modifikatoren til 
den
tomme strengen.

Modifikatorene kan kombineres for å få sammensatte resultater:

%~dpI - Utvider %I bare til en stasjonsbokstav og bane.
%~nxI - Utvider %I bare til filnavn og -etternavn.
%~fsI - Utvider %I til et fullt banenavn bare med korte 
navn.
%~dp$PATH:I - Søker gjennom mappene som er listet opp i 
miljø-
variabelen PATH etter %I, og utvider til 
stasjons-
bokstaven og banen til den første filen som 
blir
funnet.
%~ftzaI - Utvider %I til en DIR-lignende utdatalinje

I eksemplene ovenfor kan %I og PATH erstattes av andre gyldige 
verdier.
Syntaksen %~ termineres med et gyldig FOR-variabelnavn. Hvis du 
bruker
variabelnavn med store bokstaver som %I, blir det mer lesbart, og 
du
unngår forvekslinger med modifikatorene, som ikke skiller mellom 
store
og små bokstaver.

Eksemplene for kommandoen "FOR"

De`FOR`kommando i Windows Ledetekst brukes til å gå i batchfiler. Her er noen eksempler: Eksempel 1: Gå gjennom filer i en katalog:

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

Beskrivelse: Denne kommandoen skriver ut navnet på hver fil i den angitte katalogen. Eksempel 2: Gå gjennom filer med en bestemt filtype:

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

Beskrivelse: Skriver ut navnet på hver tekstfil i den angitte katalogen. Eksempel 3: Iterering gjennom filer rekursivt i underkataloger:

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

Beskrivelse: Går rekursivt gjennom alle underkataloger i den angitte katalogen og skriver ut navnet på hver tekstfil. Eksempel 4: Gå gjennom tall i et spesifikt område:

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

Beskrivelse: Sender ut tallene fra 1 til 10. Eksempel 5: Å gå gjennom tegn i en streng:

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

Beskrivelse: Skriver ut hver bokstav i ordet "Hei". Eksempel 6: Gå gjennom filinnholdet linje for linje:

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

Beskrivelse: Itererer gjennom linjene i filen "File.txt" og sender ut hver linje. Eksempel 7: Iterering gjennom miljøvariabler:

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

Beskrivelse: Itererer gjennom banene i miljøvariabelen`PATH`og gir ut hver sti. Eksempel 8: Bruk av`SET`i en løkke:

FOR %G IN (1 2 3) DO SET /A Antall=%G * 2 & ECHO Dobbelt av %G er %Antall%

Beskrivelse: Angir en variabel`Antall`til to ganger gjeldende nummer i sløyfen og skriver ut dette. Eksempel 9: Iterering gjennom underkataloger og filer:

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

Beskrivelse: Går rekursivt gjennom alle underkataloger og filer i gjeldende katalog. Eksempel 10: Nestede løkker:

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

Beskrivelse: Nester to løkker og skriver ut alle kombinasjoner av %G og %H. Vær oppmerksom på at i batch-filer`%`gjennom`%%`bør erstattes. For eksempel:`FOR %G IN (...) DO ECHO %%G`. Bare ett prosenttegn brukes i den direkte ledeteksten (`%`).

Viktig informasjon, tips for "FOR"-kommandoen

Når du bruker`FOR`kommandoen i Windows-ledeteksten, er det noen viktige punkter å merke seg: 1. Syntaks i batchfiler: Hvis du har`FOR`kommando i en batchfil, må du`%`gjennom`%%`erstatning. For eksempel:`FOR %%G IN (...) DO ECHO %%G`. 2. Bruk av variabler: Vanligvis bruker du variabler (f.eks.`%%G`) i`FOR`-Loop for å lagre verdier. Merk at variablene ikke kan få tilgang til de tildelte verdiene utenfor løkken.

SET Variable=Opprinnelig verdi
FOR %%G IN (Verdi1 Verdi2) DO SET Variable=%%G
ECHO %Variable%

Her vil`%Variable%`behold verdien "startverdi" fordi`SET`-Instruksjon i en egen`FOR`loop utføres. 3. Mellomrom i baner eller filnavn: Hvis stier eller filnavn inneholder mellomrom, bør banen eller filnavnet omsluttes av anførselstegn for å sikre at de tolkes riktig.

FOR %%G IN ("Katalog med mellomrom\Fil med mellomrom.txt") DO ECHO %%G

4. Alternativer for`FOR /F`-Loop: Hvis du`FOR`i forbindelse med`/F`alternativ (f.eks.`FOR /F "tokens=*" %%G IN (fil.txt) DO ECHO %%G`), må du kjenne syntaksen for`tokens`og`delims`Juster alternativene nøye for å få ønskede resultater. 5. Nestede løkker: Med nestede løkker må du sørge for riktig bruk av`%`eller`%%`vær oppmerksom for å sikre at variablene refereres i riktig sløyfe.

FOR %%G IN (1 2) DO (
    ECHO Ytre løkke: %%G
    FOR %%H IN (A B) DO ECHO Indre løkke: %%H
)

6. Enden av fillinjer inn`FOR /F`: Hvis du`FOR /F`for å iterere over linjer i en fil, regnes som standard hver linje opp til første mellomrom eller tabulator som et symbol. Du kan gjøre dette med alternativet`delims`justere.

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

7. Alternativer for dato og klokkeslett: Hvis du har`%DATE%`- eller`%TIME%`- Variabler i ett`FOR`-Loop, du bør være oppmerksom på den regionale innstillingen av systemet, da formatet kan variere. 8. Iterering gjennom filer med UTF-8-koding: The`FOR /F`kommandoen kan ha problemer med å iterere gjennom filer med UTF-8-koding. I slike tilfeller kan det være bedre å bruke andre verktøy som`FINDSTR`å bruke. Det er viktig å vurdere de spesifikke kravene til brukssaken din og`FOR`-Juster løkken deretter. Du kan`FOR /?`i ledeteksten for å se full hjelp og alle tilgjengelige alternativer.


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



Dette kommandolinje FOR - Kjører en bestemt kommando for hver fil i et sett av filer.

HTTP: ... console/no/032.htm
0.109
17976

Powershell Version Abfragen auf MS Server und Windows!

Die Aero Desktop Uhr, die richtig gut unter Windows 10 ausschaut!

CPU-Last basierendes Verhalten im Bezug auf Ruhezustand!

Der Leistungsindex von 8.1/10/11 Windows ist wieder da!

Großes Menü bei Touchscreen auf Windows 11!

See more of your Wallpaper on the Windows Desktop and Server OS!



(0)