FOR: Kører en angivet kommando for hver fil i et sæt filer.


 


... Eksempler på kommandoen "FOR"
... "FOR" Uddrag fra Microsoft Windows Hjælp
... Vigtig information, tip til kommandoen "FOR"

Kommandoen: "FOR" er tændt Windows 12, 11, 10, .. , MS Server 2025, 2022, 2019, .. tilgængelig

Eksempler på kommandoen "FOR"

Det`FOR`kommando i Windows Kommandoprompt bruges til at sløjfe i batchfiler. Her er nogle eksempler: Eksempel 1: Gennemgang af filer i en mappe:

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

Beskrivelse: Denne kommando udskriver navnet på hver fil i den angivne mappe. Eksempel 2: Gennemgang af filer med en bestemt filtypenavn:

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

Beskrivelse: Udskriver navnet på hver tekstfil i den angivne mappe. Eksempel 3: Gentagelse af filer rekursivt i undermapper:

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

Beskrivelse: Gennemløber rekursivt alle undermapper i den angivne mappe og udskriver navnet på hver tekstfil. Eksempel 4: Gennemgang af tal i et specifikt område:

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

Beskrivelse: Udskriver tallene fra 1 til 10. Eksempel 5: Gennemgang af tegn i en streng:

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

Beskrivelse: Udskriver hvert bogstav i ordet "Hej". Eksempel 6: Gennemgang af filindhold linje for linje:

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

Beskrivelse: Gentager linjerne i filen "File.txt" og udskriver hver linje. Eksempel 7: Iteration gennem miljøvariabler:

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

Beskrivelse: Itererer gennem stierne i miljøvariablen`PATH`og udsender hver vej. Eksempel 8: Brug af`SET`i en løkke:

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

Beskrivelse: Indstiller en variabel`Nummer`til det dobbelte af det aktuelle tal i løkken og udskriver dette. Eksempel 9: Iteration gennem undermapper og filer:

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

Beskrivelse: Gennemløber rekursivt alle undermapper og filer i den aktuelle mappe. Eksempel 10: Indlejrede løkker:

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

Beskrivelse: Indlejrer to løkker og udskriver alle kombinationer af %G og %H. Bemærk venligst, at i batch-filer`%`igennem`%%`bør udskiftes. For eksempel:`FOR %G IN (...) DO ECHO %%G`. Kun et procenttegn bruges i den direkte prompt (`%`).

"FOR" Uddrag fra Microsoft Windows Hjælp

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

C:\\Windows>

Udfører en angivet kommando for hver fil i en mængde af filer.

FOR %variabel IN (mængde) DO kommando [kommandoparametre]

%variabel Angiver en parameter på et bogstav, som kan 
erstattes.
(mængde) Angiver en mængde af en eller flere filer.\n
Jokertegn kan anvendes.
kommando Angiver den kommando, som skal udføres for hver 
fil.
kommandoparametre
Angiver parametre til den angivne kommando.

Ved brug af FOR-kommandoen i et batchprogram angives %%variabel i 
stedet for
%variabel. Variabelnavne er følsomme over for store og små 
bogstaver,
%i er derfor forskellig fra %I

Hvis kommandoudvidelserne er aktiveret, understøttes følgende 
yderligere varianter af kommandoen FOR:

FOR /D %variabel IN (filsæt) DO kommando [kommandoparametre]

Hvis det angivne filsæt indeholder jokertegn, behandles 
mappenavne
i stedet for filnavne.

FOR /R [[drev:]sti] %variabel IN (filsæt) DO kommando 
[kommandoparametre]

Gennemgår mappetræet med roden [drev:]sti og udfører 
sætningen FOR
i alle træets mapper. Hvis der ikke er angivet en mappe efter 
/R,
tages der udgangspunkt i den aktuelle mappe. Hvis sættet kun 
er ét
enkelt punktum (.), optælles kun mappetræet.

FOR /L %variabel IN (start,step,slut) DO kommando 
[kommandoparametre]

Sættet er en talsekvens fra start til slut med en 
trinstørrelse.
(1,1,5) giver således sekvensen 1 2 3 4 5, og (5,-1,1) giver
sekvensen (5 4 3 2 1)

FOR /F ["indstillingsstreng"] %variabel IN (filsæt) DO kommando
[kommandoparametre]
FOR /F ["indstillingsstreng"] %variabel IN ("streng") DO kommando
[kommandoparametre]
FOR /F ["indstillingsstreng"] %variabel IN ('kommando') DO 
kommando
[kommandoparametre]

eller, hvis indstillingen usebackq er til stede:

FOR /F ["indstillingsstreng"] %variabel IN (filsæt) DO kommando
[kommandoparametre]
FOR /F ["indstillingsstreng"] %variabel IN ('streng') DO kommando
[kommandoparametre]
FOR /F ["indstillingsstreng"] %variabel IN (`kommando`) DO 
kommando
[kommandoparametre]

filnavnsæt er et eller flere filnavne. Hver fil åbnes, læses 
og
behandles, inden der fortsættes til næste fil i 
filnavnsættet.
Behandlingen består af at læse i filen, bryde den op i 
individuelle
tekstlinjer og derefter fortolke hver linje til nul eller 
flere
tokens. Derefter kaldes indholdet af FOR-løkken med 
variabelværdi(er)
sat til den eller de fundne tokenstrenge. Som standard 
videregiver
/F den første, tomme udskilte token fra hver linje i hver 
fil. Tomme
linjer springes over. Du kan tilsidesætte 
standardfortolkningen
ved at angive den valgfrie "indstillingsstreng"-parameter. 
Strengen
skal angives i anførselstegn, og den indeholder et eller 
flere
nøgleord, der angiver forskellige fortolkningsindstillinger.
Nøgleordene er:

eol=c - angiver linjeafslutningstegn (kun et)
skip=n - angiver, hvor mange linjer der skal 
springes over 
i starten af filen.
delims=xxx - angiver et afgrænsningssæt. Det 
erstatter
standardafgrænsningssættet bestående af 
mellemrum
og tabulatortegn.
tokens=x,y,m-n - angiver, hvilke tokens fra hver linje 
der skal
overgives til FOR-indholdet for hver 
gentagelse.
Dette medfører, at der tildeles flere 
variabelnavne. m-n er et område, der 
angiver den
m'te til n'te token. Hvis det sidste 
tegn i 
strengen tokens= er en stjerne, 
tildeles der 
yderligere en variabel, som modtager 
den 
resterende tekst på linjen efter den 
token, 
der blev fortolket sidst.
usebackq - angiver, at der gælder nye regler, når 
en streng i
omvendte anførselstegn udføres som en 
kommando,
og en streng i enkelte anførselstegn er 
en 
konstantstrengkommando, samt tillader 
brugen af
dobbelte anførselstegn til at anbringe 
filnavne i
anførselstegn i filnavnsæt.

Eksempler:

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

sætningen analyserer alle linjer i minfil.txt, ignorerer 
linjer, der
begynder med et semikolon, sender anden og tredje token fra 
hver linje
til FOR-indholdet, med tokens adskilt af kommaer og/eller 
mellemrum.
Bemærk henvisningen til FOR-sætningen %i, der henter andet 
token,
%j, der henter tredje token, og %k, der henter alle 
resterende tokens
efter det tredje. Filnavne, der indeholder mellemrum, skal 
sættes i
dobbelte anførselstegn. Hvis du vil bruge dobbelte 
anførselstegn på
denne måde, skal du også bruge indstillingen usebackq, ellers
fortolkes dobbelte anførselstegn som en definition af en 
konstantstreng,
der skal analyseres.

%i erklæres eksplicit i FOR-sætningen, og %j og %k erklæres 
implicit
via indstillingen tokens=. Du kan angive op til 26 tokens via 
linjen
tokens=, forudsat det ikke medfører et forsøg på at erklære 
en variabel,
der er højere end bogstavet 'z' eller 'Z'. Husk, at der er 
forskel på
store og små bogstaver i FOR-variabler, de er globale, på et 
bogstav,
og der må højst være 52 aktive på én gang.

Du kan bruge analyselogikken FOR /F på en midlertidig streng 
ved at
gøre filnavnsættet, der står i parentes, til en streng i 
anførselstegn
ved at anvende enkelte anførselstegn. Den behandles som én 
enkelt linjes
input fra en fil og analyseres.

Endelig kan du anvende kommandoen FOR /F til at analysere 
outputtet
fra en kommando. Dette gøres ved at ændre filnavnsættet i 
parentes
til en streng i omvendte anførselstegn. Den behandles som en
kommandolinje, der videregives til en underordnet CMD.EXE, og
outputtet anbringes i hukommelsen og analyseres, som var det 
en fil.

I følgende eksempel:

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

optælles miljøvariabelnavnene i det aktuelle miljø.

Desuden er erstatningen af FOR-variabelhenvisningerne udvidet.
Du kan nu bruge følgende valgfrie syntaks:

%~I - udvider %I og fjerner omgivende anførselstegn 
(")
%~fI - udvider %I til et fuldt kvalificeret stinavn
%~dI - udvider %I til kun at omfatte et drevbogstav
%~pI - udvider %I til kun at omfatte en sti
%~nI - udvider %I til kun at omfatte et filnavn
%~xI - udvider %I til kun at omfatte et filtypenavn
%~sI - den udvidede sti indeholder kun korte navne
%~aI - udvider %I til filens filattributter
%~tI - udvider %I til filens dato/klokkeslæt
%~zI - udvider %I til filens størrelse
%~$PATH:I - søger i mapperne angivet i miljøvariablen PATH
og udvider %I til det fuldt kvalificerede navn
på den første, der findes. Hvis miljøvariabel-
navnet ikke er angivet, eller filen ikke 
findes
under søgningen, udvides denne modifikator til
den tomme streng

Modifikatorerne kan kombineres, så der opnås sammensatte 
resultater:

%~dpI - udvider %I til kun at omfatte et drevbogstav
og en sti
%~nxI - udvider %I til kun at omfatte et filnavn
og et filtypenavn
%~fsI - udvider %I til kun at omfatte et fuldt stinavn
med korte navne
%~dp$PATH:i - søger i mapper angivet i miljøvariablen PATH
for %I og udvider til drevbogstavet og stien
på den første, der findes.
%~ftzaI - udvider %I til en DIR-lignende outputlinje

I ovennævnte eksempler kan %I og PATH erstattes af andre gyldige
værdier. Syntaksen %~ afsluttes af et gyldigt FOR-variabelnavn.
Ved at vælge variabelnavne med store bogstaver, f.eks. %I, øges
læsbarheden, og der undgås forvekslinger med modifikatorerne, 
hvor
der ikke er forskel på store og små bogstaver.

Vigtig information, tip til kommandoen "FOR"

Ved brug af`FOR`kommando i Windows kommandoprompt, er der et par vigtige punkter at bemærke: 1. Syntaks i batchfiler: Hvis du har`FOR`kommando i en batch-fil, skal du`%`igennem`%%`erstatning. For eksempel:`FOR %%G IN (...) DO ECHO %%G`. 2. Brug af variabler: Typisk bruger du variabler (f.eks.`%%G`) i`FOR`-Loop for at gemme værdier. Bemærk, at variablerne ikke kan få adgang til de tildelte værdier uden for løkken.

SET Variable=Startværdi
FOR %%G IN (Værdi1 Værdi2) DO SET Variable=%%G
ECHO %Variable%

Her vil`%Variable%`behold værdien "startværdi", fordi`SET`-Instruktion i en separat`FOR`loop udføres. 3. Mellemrum i stier eller filnavne: Hvis stier eller filnavne indeholder mellemrum, skal stien eller filnavnet være omgivet af anførselstegn for at sikre, at de fortolkes korrekt.

FOR %%G IN ("Vejviser med mellemrum\Fil med mellemrum.txt") DO ECHO %%G

4. Muligheder for`FOR /F`-Loop: Hvis du`FOR`i forbindelse med`/F`mulighed (f.eks.`FOR /F "tokens=*" %%G IN (fil.txt) DO ECHO %%G`), skal du kende syntaksen for`tokens`og`delims`Juster indstillingerne omhyggeligt for at få de ønskede resultater. 5. Indlejrede løkker: Med indlejrede løkker skal du sikre korrekt brug af`%`eller`%%`vær opmærksom på at sikre, at variablerne refereres i den korrekte løkke.

FOR %%G IN (1 2) DO (
    ECHO Ydre sløjfe: %%G
    FOR %%H IN (A B) DO ECHO Indre sløjfe: %%H
)

6. Slutningen af ​​fillinjer ind`FOR /F`: Hvis du`FOR /F`for at iterere over linjer i en fil, betragtes som standard hver linje op til det første mellemrum eller tabulator som et symbol. Du kan gøre dette med muligheden`delims`justere.

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

7. Dato- og tidsvariable muligheder: Hvis du har`%DATE%`- eller`%TIME%`- Variabler i én`FOR`-Loop, du bør være opmærksom på den regionale indstilling af systemet, da formatet kan variere. 8. Generering af filer med UTF-8-kodning: Den`FOR /F`kommandoen kan have svært ved at gentage filer med UTF-8-kodning. I sådanne tilfælde kan det være bedre at bruge andre værktøjer som f.eks`FINDSTR`at bruge. Det er vigtigt at overveje de specifikke krav til din use case og`FOR`- Juster løkken i overensstemmelse hermed. Du kan`FOR /?`i kommandoprompten for at se fuld hjælp og alle tilgængelige muligheder.


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



Kommando-linje FOR - Kører en angivet kommando for hver fil i et sæt filer.

HTTP: ... console/da/032.htm
0.077
16218
Can I switch to the administrative mode and back? Difference between IoT and IIoT? How can I test another partition or drive! For what Explorer Friend in Desktop O.K.? Wo gibt es den Virenschutz kostenlos für Windows 7 von MS? Was ist, wenn der Window 7 oder Windows 8.1 Aktivierungszeitraum abgelaufen ist? Why doesn't Windows 11 have the libraries? Difference between Docker and Kubernetes? How do I know if HD is bad then? Is it certain number! Where can I see if Service Pack 1 is installed on my Windows 7?



(0)