forfiles komutu nedir, nasıl kullanılır?

alattin (16999) 5 yıl önce sordu

forfiles komutu nedir? Forfiles komutu ne işe yarar? forfiles komutu nasıl kullanılır?

Toplam 1 cevap


alattin (16999) 5 yıl önce cevapladı

forfiles komutu nedir?

forfiles komutu, Windows işletim sisteminde bir komutu seçili dosyalar üzerinde çalıştırmaya yarayan bir komuttur. Bu komut özellikle toplu işlemler için çok kullanışlıdır. Örneğin toplu olarak dosya uzantısı değiştirme, toplu olarak dosya silme gibi işlemleri gerçekleştirmek için forfiles komutundan faydanılır. forfiles tek başına anlamsız bir komuttur. Birlikte kullanıldığı komut ile anlam kazanır.

forfiles komutu ne işe yarar?

Komut isteminde kullanılan bazı komutlar alt klasörlere erişemez. Sadece bulunduğu klasör içindeki dosyaları etkiler. Örneğin dosya adı ve uzantısı değiştirme komutu olan ren komutu sadece çalıştırıldığı klasörde etkilidir. Alt klasörlere erişecek bir parametresi yoktur. forfiles komutu çeşitli parametreler alarak birlikte kullanıldığı komutu daha kullanışlı hale getirir. Yine bu parametreler ile sadece belirli dosyaların seçilmesi ve bunlar üzerinde işlem yapılmasını olanaklı kılar.

forfiles komutu parametrelerinin anlamları

forfiles komutu çeşitli paremetreler ile birlikte gelir. Aşağıda forfiles komutu parametrelerinin anlamlarını bulabilirsiniz:

forfiles parametreleri

  • /p <yol>:  Path yani yolu belirler. Burada komutun çalıştırılacağı yol ifade edilir. Eğer kullanılmazsa komutun çalıştırıldığı klasörde işlem yapar. Örnek kullanım /p D:  (komutu D: sürücüsü için çalıştırır)
  • /m <maske/filtre>: Arama filtresi. Bu parametre örneğin dosya uzantılarını seçmenizi sağlar.  Örnek kullanım: /m *.txt (sadece txt dosyalarında işlem yapar)
  • /s: tüm alt klasörlerde işlem yapar. Toplu silme, ad değiştirme gibi işlemlerde çok önemli bir parametredir. Bulunduğu klasör ve o klasörün altındaki tüm klasörlerde çalışır.
  • /c <komut>:  forfiles komutunun çalıştıracağı komut. Örnek kullanım /c "cmd ren *.log 0.txt" (forfiles komutu ren komutunu çalıştıracaktır. Ren komutu da tüm uzantısı log olan dosyaların uzantısını txt olarak değiştirecektir.
  • /d: dosyaları son değiştirilme tarihine göre filtrelemek isterseniz kullanabileceğiniz parametre. Örnek kullanım: /d -365  (en az 1 yıl eski olan dosyaları listeler.)

Forfiles komutu kullanımı

Forfiles komutu komut istemi (cmd) üzerinde çalışır. Komutları komut satırı üzerinde uygulamalısınız.

Disk üzerindeki tüm mp3 uzantılı dosyaları listeler:

forfiles /p c:\ /s /m *.mp3 /c "cmd /c echo @file bir mp3 dosyasıdır"

Eğer tüm dosyaların, alt klasörleri de kapsayacak şekilde, adını ya da uzantısını değiştirmek istiyorsanız şu komutu kullanabilirsiniz:

forfiles /S /M *.doc /C "cmd /c rename @file @fname.docx"

Bu komut çalıştırıldığı klasörü tarar ve sadece uzantısı doc olan dosyaların uzantısını docx olarak değiştirir.

Rename komutu ile sadece uzantı değiştirmek ya da silmek değil dosya adı üzerinde de işlem yapabilirsiniz. Örneğin elinizde yüzlerce mp3 var ve aynı sanatcıya ait. Bu dosyaların adlarının başına sanatçı adını eklemek istiyorsunuz. Şu komutu kullanabilirsiniz:
 

forfiles /S /M *.mp3 /C "cmd /c rename @file coldplay-@file"

Bu komut çalıştırıldığı klasördeki ve o klasörün altındaki tüm alt klasörlerdeki mp3 dosyalarının başına coldplay- ekini getirecektir. Örneğin Yellow.mp3 adlı bir dosyanız varsa coldplay-yellow.mp3 olarak adı değişecektir.

Temp klasöründeki 30 günden eski olan dosyaları silme

forfiles -p "%temp%" -s -m *.* /D -30 /C "cmd /c del @path"

Bu komut Temp klasöründe bulunan ve 30 günden eski değiştirme tarihine sahip dosyaları dilecektir.