Komut: "FOR" açık Windows 12, 11, 10, .. , MS Server 2025, 2022, 2019, .. mevcut
Komut örnekleri "FOR"
Der
`FOR`Windows Komut İstemi'ndeki komut, toplu iş dosyalarında döngü yapmak için kullanılır. İşte bazı örnekler:
Örnek 1: Bir dizindeki dosyalar arasında döngü yapma:
FOR %G IN (dizin\*) DO ECHO %G
Açıklama: Bu komut, belirtilen dizindeki her dosyanın adını yazdırır.
Örnek 2: Belirli bir dosya uzantısına sahip dosyalar arasında geçiş yapma:
FOR %G IN (dizin\*.txt) DO ECHO %G
Açıklama: Belirtilen dizindeki her metin dosyasının adını yazdırır.
Örnek 3: Alt dizinlerdeki dosyalar arasında yinelemeli olarak yineleme:
FOR /R dizin %G IN (*.txt) DO ECHO %G
Açıklama: Belirtilen dizinin tüm alt dizinlerini yinelemeli olarak geçer ve her metin dosyasının adını yazdırır.
Örnek 4: Belirli bir aralıktaki sayılar arasında döngü yapma:
FOR /L %G IN (1,1,10) DO ECHO %G
Açıklama: 1'den 10'a kadar sayıların çıktısını verir.
Örnek 5: Bir dizedeki karakterler arasında döngü yapma:
FOR %G IN ("Merhaba") DO ECHO %G
Açıklama: "Merhaba" kelimesinin her harfini yazdırır.
Örnek 6: Dosya içeriğinde satır satır döngü yapma:
FOR /F "tokens=*" %G IN (dosya.txt) DO ECHO %G
Açıklama: "File.txt" dosyasının satırları boyunca yinelenir ve her satırın çıktısını alır.
Örnek 7: Ortam değişkenleri üzerinden yineleme:
FOR %G IN (%PATH%) DO ECHO %G
Açıklama: Ortam değişkenindeki yollar boyunca yinelenir
`PATH`ve her yolun çıktısını alır.
Örnek 8: Kullanımı`SET`bir döngüde:
FOR %G IN (1 2 3) DO SET /A Sayı=%G * 2 & ECHO Çift %G dır-dir %Sayı%
Açıklama: Bir değişken ayarlar
`Sayı`döngüdeki geçerli sayının iki katına çıkar ve bunu yazdırır.
Örnek 9: Alt dizinler ve dosyalar arasında yineleme:
FOR /R %G IN (*) DO ECHO %G
Açıklama: Geçerli dizindeki tüm alt dizinleri ve dosyaları yinelemeli olarak geçer.
Örnek 10: İç İçe Döngüler:
FOR %G IN (1 2) DO FOR %H IN (A B) DO ECHO %G%H
Açıklama: İki döngüyü iç içe geçirir ve %G ve %H'nin tüm kombinasyonlarını yazdırır.
Toplu iş dosyalarında lütfen unutmayın
`%`başından sonuna kadar
`%%`değiştirilmelidir. Örneğin:
`FOR %G IN (...) DO ECHO %%G`. Doğrudan istemde yalnızca yüzde bir işareti kullanılır (
`%`).
"FOR" Microsoft Windows Yardımından Alıntı
Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.
C:\\Windows>
Bir dosya kümesindeki her dosya için belirtilen bir bir komutu
çalistirir.
FOR %degisken IN (küme) DO komut [komut parametresi]
%degisken Degistirilebilir tek harfli bir parametre belirtir.
(küme) Bir ya da birden çok dosya kümesi belirtir.
Joker karakter kullanilabilir.
komut Her bir dosya için yürütülecek komutu belirtir.
komut parametresi
Belirtilen komutun parametre ya da anahtarlarini
belirtir.
Bir toplu is dosyasi programinda FOR komutunu kullanmak için
%%degisken
yerine %degisken belirtin. Degisken adlari büyük küçük harf
duyarli
oldugundan, %i degiskeni, %I degiskeninden farklidir.
Komut Uzantilari etkinse, asagidaki FOR komutu ek biçimleri
desteklenir:
FOR /D %degisken IN (küme) DO komut [komut parametre]
Ayar joker karakteri içerirse, dosya adlari yerine dizin
adlarina
esleme için belirtir.
FOR /R [[sürücü:]yol] %degisken IN (küme) DO komut [komut
parametre]
[sürücü:]yol içinde köklenmis dizin agacini, FOR tümcesini
agacin
her dizininde çalistirarak yürütür. /R sonrasinda hiçbir
dizin
belirtimi yapilmazsa, geçerli dizin kabul edilir. Küme
yalnizca
tek nokta (.) karakteriyse yalnizca dizin agacini
numaralandirir.
FOR /L %degisken IN (baslangiç, adim, son) DO komut [komut
parametre]
Küme, adim oraniyla, baslangiçtan sona sayi dizisidir.
Böylece, (1,1,5), 1 2 3 4 5 dizisini üretirken (5,-1,1) de
(5 4 3 2 1)dizisini üretir
FOR /F ["seçenek"] %degisken IN (dosya küme) DO komut [komut
parametre]
FOR /F ["seçenek"] %degisken IN ("dize") DO komut [komut
parametre]
FOR /F ["seçenek"] %degisken IN ('komut') DO komut [komut
parametre]
veya, usebackq seçenegi varsa:
FOR /F ["seçenek"] %degisken IN (dosya küme) DO komut [komut
parametre]
FOR /F ["seçenek"] %degisken IN ('dize') DO komut [komut
parametre]
FOR /F ["seçenek"] %degisken IN (`komut`) DO komut [komut
parametre]
filenameset bir ya da birden çok dosya adidir. Her bir dosya
açilir,
okunur ardindan sonraki filenameset'teki dosyaya devam
etmeden
önce islemden geçirilir. Isleme, dosyayi okuma, tek tek metin
satirlarina ayirdiktan sonra her satiri sifir ya da daha çok
belirteçle inceler. Döngünün gövdesi daha sonra bulunan
belirteç dizesine
ayarli degisken degeriyle çagrilir. Varsayilan olarak, /F
her
dosyanin her satirindan, ilk bos ayri belirteci gönderir.
Bos satirlar geçilir. Seçenegi bagli "seçenek" parametresini
belirterek varsayilan davranisi geçersiz kilabilirsiniz. Bu,
farkli inceleme seçeneklerini belirten bir ya da birden çok
anahtar
sözcügü içeren tirnak içinde dizedir. Anahtar sözcükler
sunlardir:
eol=c - satir sonu açiklama karakterini
belirtir
(yalnizca tek)
geç=n - dosyanin basinda geçilecek olan
satir sayisini belirtir.
delims=xxx - bir sinirlayici kümesini belirtir. Bu,
varsayilan
sinirlayici, bosluk ve sekme kümesini
devre disi
birakir.
tokens=x,y,m-n - her degisiklik için her satirdan
gövdeye gönderilecek olan jetonlari
belirtir.
Bu, ek degisken adlarinin ayrilmasina
neden olur. m-n biçimi, bir araliktir;
bu aralik n. jetonlar yolunca m.
belirtir.
Jeton= dizenin son karakteri joker
karakteriyse
ek degisken ayrilarak son jeton
incelendikten
sonra satirda kalan metni alir.
usebackq - yeni anlamlarin geçerli oldugunu
belirtir;
bu durumda ters tirnakli dize komut
olarak
yürütülürken tek tirnakli dize gerçek
dize
komutu olarak filenameset'te tirnak
dosya
adlarinda, çift tirnagin kullanimina
olanak
saglar.
Bazi örnekler yardimci olabilir:
FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo
%i %j %k
myfile.txt dosyasindaki her satiri, noktali virgülle baslayan
satirlari
2. ve 3. belirteci for body için her satirdan gönderen
virgül ve/veya boslukla sinirlanan belirteçleri göz ardi
ederek inceler.
For body tümcelerinin, 2. belirteci almak için %i
basvurusuna, 3.
belirteci almak için %j basvurusuna ve üçüncünün ardindan
kalan tüm
belirteçleri almak için %k basvurusuna dikkat edin. Bosluk
içeren
dosya adlari için, dosyadalarini çift tirnakla
belirtmelisiniz.
Çift tirnagi bu sekilde kullanmak için usebackq
seçenegini de kullanmaniz gerekir; yoksa çift tirnak gerçek
anlamda
incelemede kullanilan tanimlayici bir dize olarak yorumlanir.
%i açikça for tümcesinde bildirilir; %j ile %k
açikça tokens= option yoluyla bildirilir. tokens= line
yoluyla
en çok 26 adet belirteç belirtebilirsiniz; bunun 'z' ya da
'Z' harfinden
daha yüksek bir degisken bildirme girisimi olmamasi gerekir.
Unutmayin; FOR degisken adlari büyük/küçük harf duyarli,
geneldir;
bir defad en çok toplam 52 etkine ulasabilirsiniz.
FOR /F inceleme mantigini ara dizede de kullanabilirsiniz;
bunun
için ayraç içindeki filenameset'i tek tirnak karakterleri
kullanarak
tirnakli bir dize haline getirmelisiniz. Bir dosyadan tek
bir
satir girdisi olarak görülüp incelenir.
Son olarak, FOR /F komutunu, bir komutun çiktisini incelemek
için
kullanabilirsiniz. Bu, ayraç içindeki filenameset'i geri
tirnakli bir
dize haline getirerek yapilir. Komut satiri olarak görülür;
bagimli bir CMD.EXE'ye gönderilerek çikti bellekte yakalanip
dosyaymis gibi incelenir. Böylece asagidaki örnek:
FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i
geçerli ortamdaki çevre degisken adlarini numaralandirir.
Ayni zamanda, FOR degisken degisimi basvurulari gelistirilmistir.
Simdi asagidaki seçime bagli sözdizimini kullanabilirsiniz:
%~I - tirnaklari kaldirarak %I genisletilir (")
%~fI - %I tam nitelendirilmis yol adina genisletilir
%~dI - %I yalnizca bir sürücü harfine genisletilir
%~pI - %I yalnizca bir yola genisletilir
%~nI - %I yalnizca bir dosya adina genisletilir
%~xI - %I yalnizca bir dosya uzantisina genisletilir
%~sI - genisletilen yol yalnizca kisa adlari içerir
%~aI - %I dosyanin dosya niteliklerine genisletilir
%~tI - %I dosyanin tarih/saat özniteligine
genisletilir
%~zI - %I dosyanin boyutuna genisletilir
%~$PATH:I - PATH ortam degiskeninde listelenen dizinleri
arar
ve %I ilk bulunanin tam niteleyici adina
genisletilir.
Ortam degiskeni tanimli degilse veya dosya
arama
tarafindan bulunmazsa, bu degistirici bos bir
dizeye
genisletilir.
Degistiriciler, bilesik sonuçlar için birlestirilebilir:
%~dpI - %I yalnizca bir sürücü harfine ve yola
genisletilir
%~nxI - %I yalnizca bir dosya adina ve uzantisina
genisletilir
%~fsI - %I yalnizca kisa adli bir tam yol adina
genisletilir
%~dp$PATH:I - %I için PATH ortam degiskeninde listelenen
dizinleri
arar ve ilk bulunanin sürücü harfine ve yoluna
genisletilir.
%~ftzaI - %I DIR gibi bir çikti satirina genisletilir
Yukaridaki örneklerde %I ve PATH baska geçerli degerlerle
degistirilebilir.
%~ sözdizimi, geçerli bir FOR degisken adiyla sona erdirilir.
%I gibi büyük harfli degisken adlari kullanmak daha okunabilir
yapar ve
büyük küçük harf duyarli olmayan degistiricilerle
karistirilmasini engeller.
Önemli bilgiler, "FOR" komutu için ipuçları
Kullanırken
`FOR`Windows Komut İstemi'ndeki komutta dikkat edilmesi gereken birkaç önemli nokta vardır:
1.
Toplu dosyalardaki sözdizimi:`FOR`bir toplu iş dosyasındaki komutu kullanmalısınız
`%`başından sonuna kadar
`%%`yerine geçmek. Örneğin:
`FOR %%G IN (...) DO ECHO %%G`.
2.
Değişkenlerin kullanımı: Genellikle değişkenleri kullanırsınız (ör.
`%%G`) içinde
`FOR`-Değerleri saklamak için döngü. Değişkenlerin döngü dışından atanan değerlere erişemeyeceğini unutmayın.
SET Variable=Başlangıç değeri
FOR %%G IN (Değer1 Değer2) DO SET Variable=%%G
ECHO %Variable%
Burada olacak
`%Variable%`"başlangıç değeri" değerini koruyun çünkü
`SET`-Ayrı bir ders
`FOR`döngü yürütülür.
3.
Yollar veya dosya adlarındaki boşluklar: Yollar veya dosya adları boşluk içeriyorsa, doğru yorumlanmalarını sağlamak için yol veya dosya adı tırnak işaretleri içine alınmalıdır.
FOR %%G IN ("Boşluklu dizin\Boşluklu dosya.txt") DO ECHO %%G
4.
Seçenekler`FOR /F`-Döngü: Eğer
`FOR`bağlantılı olarak
`/F`seçenek (ör.
`FOR /F "tokens=*" %%G IN (dosya.txt) DO ECHO %%G`), sözdizimini bilmeniz gerekir
`tokens`Ve
`delims`İstenilen sonuçları elde etmek için seçenekleri dikkatlice ayarlayın.
5.
İç İçe Döngüler: İç içe döngülerle,
`%`veya
`%%`Değişkenlere doğru döngüde başvurulduğundan emin olun.
FOR %%G IN (1 2) DO (
ECHO Dış döngü: %%G
FOR %%H IN (A B) DO ECHO İç döngü: %%H
)
6.
Dosya satırlarının sonu`FOR /F`: Eğer sen
`FOR /F`bir dosyadaki satırlar üzerinde yineleme yapmak için, varsayılan olarak ilk boşluğa veya sekmeye kadar olan her satır bir belirteç olarak kabul edilir. seçeneği ile bunu yapabilirsiniz
`delims`ayarlamak.
FOR /F "tokens=* delims=" %%G IN (dosya.txt) DO ECHO %%G
7.
Tarih ve saat değişkeni seçenekleri: `%DATE%`- veya
`%TIME%`-Değişkenler bir arada
`FOR`-Loop, format değişiklik gösterebileceği için sistemin bölgesel ayarına dikkat etmelisiniz.
8.
UTF-8 kodlamalı dosyalar arasında yineleme: `FOR /F`komutu, UTF-8 kodlamalı dosyalar arasında yineleme yapmakta zorluk yaşayabilir. Bu gibi durumlarda aşağıdaki gibi diğer araçları kullanmak daha iyi olabilir:
`FINDSTR`kullanmak.
Kullanım durumunuzun özel gereksinimlerini ve
`FOR`- Döngüyü buna göre ayarlayın. Yapabilirsiniz
`FOR /?`Tam yardımı ve mevcut tüm seçenekleri görmek için komut isteminde.