FOR: Utför ett visst kommando för varje fil i en mängd filer.


... Exemplen för kommandot "FOR"
... "FOR" Utdrag från Microsoft Windows Hjälp
... Viktig information, tips för kommandot "FOR"

Kommandot: "FOR" är på Windows 11, 10, .. tillgänglig

Exemplen för kommandot "FOR"

De`FOR`kommando i Windows Kommandotolk används för att loopa in batchfiler. Här är några exempel: Exempel 1: Gå igenom filer i en katalog:

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

Beskrivning: Detta kommando skriver ut namnet på varje fil i den angivna katalogen. Exempel 2: Gå igenom filer med ett specifikt filtillägg:

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

Beskrivning: Skriver ut namnet på varje textfil i den angivna katalogen. Exempel 3: Iterering genom filer rekursivt i underkataloger:

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

Beskrivning: Går rekursivt igenom alla underkataloger i den angivna katalogen och skriver ut namnet på varje textfil. Exempel 4: Gå igenom siffror i ett specifikt intervall:

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

Beskrivning: Matar ut siffrorna från 1 till 10. Exempel 5: Gå igenom tecken i en sträng:

FOR %G IN ("Hallå") DO ECHO %G

Beskrivning: Skriver ut varje bokstav i ordet "Hej". Exempel 6: Gå igenom filinnehållet rad för rad:

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

Beskrivning: Itererar genom raderna i filen "File.txt" och matar ut varje rad. Exempel 7: Iteration genom miljövariabler:

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

Beskrivning: Itererar genom sökvägarna i miljövariabeln`PATH`och matar ut varje väg. Exempel 8: Användning av`SET`i en slinga:

FOR %G IN (1 2 3) DO SET /A siffra=%G * 2 & ECHO Dubbel av %G är %siffra%

Beskrivning: Ställer in en variabel`siffra`till dubbla det aktuella numret i slingan och skriver ut detta. Exempel 9: Iterering genom underkataloger och filer:

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

Beskrivning: Går rekursivt igenom alla underkataloger och filer i den aktuella katalogen. Exempel 10: Kapslade slingor:

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

Beskrivning: Kapslar två slingor och skriver ut alla kombinationer av %G och %H. Observera att i batchfiler`%`genom`%%`bör bytas ut. Till exempel:`FOR %G IN (...) DO ECHO %%G`. Endast ett procenttecken används i direktuppmaningen (`%`).

"FOR" Utdrag från Microsoft Windows Hjälp

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

C:\\Windows>

Anropar ett kommando för var och en av filerna i ett urval.

FOR %variabel IN (urval) DO kommando [kommandoparametrar]

%variabel Anger en utbytbar parameter (en enda 
bokstav).
(urval) Anger en uppsättning av filer. Jokertecken 
kan användas.
kommando Anger kommandot som anropas för var och en 
av filerna.
kommandoparametrar Anger parametrar eller växlar för angivet 
kommando.

När FOR-kommandot används i en kommandofil, ange %%variabel 
istället för
%variabel. Variabelnamn är skiftlägeskänsliga. Därför skiljer sig 
%i.
från %I.

Om kommandotilläggen är aktiverade stöds följande tilläggsformat
för kommandot FOR:

FOR /D %variabel IN (uppsättning) DO kommando [parametrar]

Om uppsättningen innehåller jokertecken, matchas katalognamn
i stället för filnamn.

FOR /R [[enhet:]sökväg] %variabel IN (uppsättning) DO kommando 
[parametrar]

Går igenom katalogträdet med roten [enhet:]sökväg och 
tillämpar FOR-
uttrycket på varje katalog i trädet. Om ingen katalog
anges efter /R används den aktuella katalogen.
Om uppsättningen bara består av ett enda punkttecken (.)
kommer den att räkna upp katalogträdet.

FOR /L %variabel IN (start,steg,slut) DO kommando [parametrar]

Uppsättningen är en talsekvens från start till slut med 
avståendet steg.
Uppsättningen (1,1,5) skulle skapa talsekvensen 1 2 3 4 5 och 
(5,-1,1)
skulle skapa talsekvensen (5 4 3 2 1)

FOR /F ["alternativ"] %variabel IN (filuppsättning) DO kommando 
[parametrar]
FOR /F ["alternativ"] %variabel IN ("sträng") DO kommando 
[parametrar]
FOR /F ["alternativ"] %variabel IN ('kommando') DO kommando 
[parametrar]

eller, om alternativet usebackq används:

FOR /F ["alternativ"] %variabel IN (filuppsättning) DO kommando 
[parametrar]
FOR /F ["alternativ"] %variabel IN ('sträng') DO kommando 
[parametrar]
FOR /F ["alternativ"] %variabel IN (`kommando`) DO kommando 
[parametrar]

filnamnuppsättningen består av ett eller flera filnamn. Varje 
fil
öppnas, läses och bearbetas innan nästa fil i uppsättningen 
påbörjas.
Bearbetningen består i att filen läses in och delas upp i 
separata
textrader som sedan tolkas till noll eller flera token.
For-loopen anropas sedan med variabelvärdet satt till
de funna token-strängarna. Som standard skickar /F det
första tokenet (åtskilda med blanksteg) från varje rad i 
varje fil.
Tomma rader hoppas över. Du kan åsidosätta standardtolkningen
genom att ange den valfria parametern "alternativ". Det är en
sträng omsluten av citattecken som innehåller ett eller flera 
nyckelord
för annorlunda tolkning. Nyckelorden är:

eol=c - anger ett kommentartecken i slutet av 
raden
(bara ett)
skip=n - anger att n rader ska hoppas över i
i början av filen.
delims=xxx - anger en uppsättning avgränsare. Detta 
ersätter
blanksteg och tabb som 
standardavgränsare.
tokens=x,y,m-n - anger vilka token från varje rad som 
ska skickas
till loopen för varje iteration. Detta 
medför
att ytterligare variabelnamn allokeras.
Formatet m-n är ett intervall som anger 
token
nr n till token nr m. Om det sista 
tecknet
i strängens tokens= är en asterisk,
allokeras ytterligare en variabel som 
kommer
att innehålla den återstående texten på 
raden
efter senast bearbetade token.
usebackq - anger att den nya semantiken används.
I den körs strängar omslutna med 
lutande citattecken
som ett kommando och strängar omslutna 
med enkla
citattecken som literala 
strängkommandon. Det
innebär att du kan använda dubbla 
citattecken för
att omsluta filnamn i 
filnamnsuppsättningar.

Några exempel:

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

tolkar varje rad i minfil.txt och ignorerar rader som börjar 
med ett
semikolon, skickar token nr 2 och nr 3 från varje rad till 
FOR-satsens
kropp. Kommatecken och blanksteg behandlas som avgränsare 
mellan token.
Notera att FOR-satsens kropp använder %i för att referera 
till token
nr 2, %j för att referera till token nr 3 och %k för att 
referera till
alla återstående token efter det tredje. Filnamn som 
innehåller blanksteg
måste omslutas med dubbla citattecken. För att kunna använda 
dubbla citat-
tecken på det här sättet måste du ange alternativet usebackq, 
annars
tolkas de dubbla citattecknen som en literal sträng som ska 
tolkas.

%i är explicit deklarerad i FOR-satsen och %j och %k är
implicit deklarerade via alternativet tokens=. Du kan ange 
upp till
26 token med raden tokens=, förutsatt att den inte medför ett
försök att deklarera en variabel som är högre än bokstaven 
"z" eller "Z".
Observera att FOR-variabelnamn består av en enda bokstav, är
skiftlägeskänsliga, globala och samt att högst 52 variabler 
kan vara
aktiva samtidigt.

Du kan även använda FOR /F på en direkt sträng genom att 
skriva
filnamnsuppsättningen omsluten med enkla citattecken mellan 
parenteserna.
Den kommer att behandlas och tolkas som en enda rad från en 
fil.

Slutligen går det att använda kommandot FOR /F för att tolka 
utdata från
ett kommando. Du gör detta genom att skriva 
filnamnsuppsättningen omsluten
av enkla, sneda citattecken mellan parenteserna. Den kommer 
att tolkas som
en kommandorad som skickas till en underordnad CMD.EXE vars 
utdata
infångas i minnet och tolkas som om den vore en fil. Det 
innebär att
följande exempel:

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

räknar upp miljövariabelnamnen i den aktuella miljön.

Dessutom har ersättning av referenser för variabeln FOR 
förbättrats.
Det går nu att använda följande alternativa syntax:

%~I - expanderar %I och tar bort alla omslutande 
citattecken (")
%~fI - expanderar %I till en fullständig sökväg
%~dI - expanderar %I till endast en enhetsbeteckning
%~pI - expanderar %I till endast en sökväg
%~nI - expanderar %I till endast ett filnamn
%~xI - expanderar %I till endast ett filnamnstillägg
%~sI - den expanderade sökvägen innehåller endast 
kortnamn
%~aI - expanderar %I till filens filattribut
%~tI - expanderar %I till filens datum/tid
%~zI - expanderar %I till filens storlek
%~$PATH:I - söker igenom katalogerna angivna i 
miljövariabeln PATH
och expanderar %I till det fullständiga namnet 
för den
första funna förekomsten.
Om namnet på miljövariabeln inte är definierat,
eller om filen inte gick att hitta under 
sökningen,
expanderas den här modifieraren till den tomma 
strängen.

Modifierarna kan kombineras för att skapa sammansatta resultat:

%~dpI - expanderar %I till endast enhetsbeteckning och 
sökväg
%~nxI - expanderar %I till endast filnamn och 
filnamnstillägg
%~fsI - expanderar %I till en fullständig sökväg med
endast kortnamn
%~dp$PATH:I - söker efter %I i katalogerna angivna i 
miljövariabeln PATH
och expanderar till enhetsbeteckningen och 
sökvägen för den
första funna förekomsten.
%~ftzaI - expanderar %I till en DIR-liknande utdatarad

I ovanstående exempel kan %I och PATH ersättas med andra giltiga 
värden.
Syntaxen för %~ måste avslutas med ett giltigt FOR-variabelnamn.
Om du använder versaler som variabelnamn, t.ex. %I, blir syntaxen
lättare att förstå och du undviker förväxling med modifierarna 
(som
inte är skiftlägekänsliga).

Viktig information, tips för kommandot "FOR"

När du använder`FOR`kommandot i Windows kommandotolk finns det några viktiga punkter att notera: 1. Syntax i batchfiler: Om du har`FOR`kommandot i en batchfil måste du`%`genom`%%`ersättning. Till exempel:`FOR %%G IN (...) DO ECHO %%G`. 2. Användning av variabler: Vanligtvis använder du variabler (t.ex.`%%G`) i`FOR`-Loop för att lagra värden. Observera att variablerna inte kan komma åt de tilldelade värdena utanför slingan.

SET Variable=Ursprungligt värde
FOR %%G IN (Värde1 Värde2) DO SET Variable=%%G
ECHO %Variable%

Här kommer`%Variable%`behåll värdet "startvärde" eftersom`SET`-Instruktion i en separat`FOR`loop exekveras. 3. Mellanslag i sökvägar eller filnamn: Om sökvägar eller filnamn innehåller mellanslag, bör sökvägen eller filnamnet omges av citattecken för att säkerställa att de tolkas korrekt.

FOR %%G IN ("Katalog med mellanslag\Arkiv med mellanslag.txt") DO ECHO %%G

4. Alternativ för`FOR /F`-Loop: Om du`FOR`i samband med`/F`alternativ (t.ex.`FOR /F "tokens=*" %%G IN (fil.txt) DO ECHO %%G`), måste du känna till syntaxen för`tokens`och`delims`Justera alternativen noggrant för att få önskat resultat. 5. Inkapslade loopar: Med kapslade loopar måste du säkerställa korrekt användning av`%`eller`%%`var uppmärksam för att säkerställa att variablerna refereras i rätt loop.

FOR %%G IN (1 2) DO (
    ECHO Yttre slinga: %%G
    FOR %%H IN (A B) DO ECHO Inre slinga: %%H
)

6. Slutet av filrader in`FOR /F`: Om du`FOR /F`för att iterera över rader i en fil anses varje rad upp till det första mellanslag eller tabb som standard vara en token. Du kan göra detta med alternativet`delims`justera.

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

7. Variabelalternativ för datum och tid: Om du har`%DATE%`- eller`%TIME%`-Variabler i ett`FOR`-Loop, du bör vara uppmärksam på den regionala inställningen av systemet, eftersom formatet kan variera. 8. Iterera genom filer med UTF-8-kodning: The`FOR /F`kommandot kan ha svårt att iterera genom filer med UTF-8-kodning. I sådana fall kan det vara bättre att använda andra verktyg som`FINDSTR`att använda. Det är viktigt att överväga de specifika kraven för ditt användningsfall och`FOR`-Justera slingan därefter. Du kan`FOR /?`i kommandotolken för att se fullständig hjälp och alla tillgängliga alternativ.


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 FOR - Utför ett visst kommando för varje fil i en mängd filer.

HTTP: ... console/sv/032.htm
0.109
15842

DPI setting option for windows on Windows 11!

Adjust date and time in Windows 11!

Reboot server via a desktop button in 3 seconds!

USA football mouse tracks!

This might take a few minutes on Windows 11!

Find Same Images Rotated and Negative plus Flipped!



(0)