Yaşa Dayalı Dosyaları İşlemek İçin Dosya Kullanımı

Bazı komut satırı sihrini bilmek her zaman iyidir, çünkü komutları bu şekilde işlemek bazen daha kolaydır.

Bu kılavuz, Windows Vista ve Windows 7'deki Forfiles komutunu gösterir (Güncelleme: Ayrıca Windows'un yeni sürümlerinde de bulunur).

Forfiles, isimleri, dosya uzantılarını ve yaşa göre dosyaları işleyebilir. Örneğin, 20 günden eski bir dizindeki tüm belgeleri veya belirli bir tarihten bu yana değiştirilmiş c: \ belgelerinde bulunan tüm belgeleri bulmak mümkündür.

Forfiles komutu, bu dosyaları silmek veya filtrelerle eşleşen tüm dosyaların bir listesini oluşturmak için işleme seçenekleriyle birleştirilebilir. Forfiles komutuna daha yakından bakalım.

FORFILES [/ P pathname] [/ M arama maskesi] [/ S] [/ C komutu] [/ D [+ | -] gg / AA / yyyy]

Açıklama: Bir dosya (veya dosya kümesi) seçer ve bu dosya üzerinde bir komut yürütür. Bu toplu işler için yararlıdır.

Parametre Listesi:

  • / P yol adı Aramaya başlamanın yolunu gösterir. Varsayılan klasör geçerli çalışma dizinidir (.).
  • / M searchmask Dosyaları bir searchmask'a göre arar. Varsayılan arama maskesi '*' dir.
  • / S Dosyalara alt dizinlere yinelenmelerini söyler. "DIR / S" gibi.
  • / C komutu Her dosya için yürütülecek komutu belirtir. Komut dizeleri çift tırnak içine alınmalıdır. Varsayılan komut "cmd / c echo @file" şeklindedir.

Komut dizesinde aşağıdaki değişkenler kullanılabilir:

  • @dosya - dosyanın adını döndürür.
  • @fname - dosya adını uzantısız döndürür.
  • @ext - sadece dosyanın uzantısını döndürür.
  • @path - dosyanın tam yolunu döndürür.
  • @ relpath - dosyanın göreli yolunu döndürür.
  • @isdir - Bir dosya türü bir dizin ise "TRUE", dosyalar için "FALSE" döndürür.
  • @fsize - dosyanın boyutunu bayt olarak döndürür.
  • @fdate - dosyanın son değiştirilme tarihini döndürür.
  • @ftime - dosyanın son değiştirilme zamanını döndürür.

Komut satırına özel karakterler eklemek için, karakterin onaltılık kodunu 0xHH formatında kullanın (ör. Sekme için 0x09). Dahili CMD.exe komutları önce "cmd / c" ile verilmelidir.

/ D date "dd / MM / yyyy" biçimini kullanarak, belirtilen tarihte (+) 'den büyük veya ona eşit veya (-)' den küçük veya ona eşit olan dosyaları seçer; veya (+) geçerli tarihe artı "dd" güne eşit veya daha büyük veya (-) geçerli tarih eksi "dd" günlere eşit veya (-) eşit veya daha büyük değiştirilmiş bir tarihe sahip dosyaları seçer. Geçerli bir "dd" gün sayısı, 0 - 32768 arasında herhangi bir sayı olabilir. Belirtilmezse "+" varsayılan işaret olarak alınır.

/? Bu yardım mesajını görüntüler. Bu yardım dosyası forfiles /? Komutunu girerek açılabilir. komut isteminde. Windows-R tuşlarına basın, cmd yazın ve komut satırını Windows'ta başlatmak için enter tuşuna basın.

forfiles /P c:\test\ /M .doc /S /D -10 komutu, forfiles /P c:\test\ /M .doc /S /D -10 dizinini ve tüm alt dizinlerini 10 günden eski .doc uzantılı dosyalar için arar.

Bir dizinin izlediği / p parametresi, başlangıç ​​dizinini tanımlar, / s, aramada alt dizinleri içerir, / m, girilen dizgiyi temel alarak dosyaları ve klasörleri filtreler ve / D, tarih veya zaman aralığını tanımlar.

/ C komutu, daha fazla bulunan dosyaları işlemek için kullanılır. Örneğin, aşağıdaki komutu çalıştırmak için kullanılabilir: /C "cmd /c echo @fname" > test.txt, bulunan her bir dosyanın ismini ekler ve sonuçları aynı dizinde text.txt içerisine kaydeder.

Tam komut daha sonra şöyle görünür forfiles /P c:\test\ /M .doc /S /D -10 /C "cmd /c echo @fname" > test.txt

Başka bir olasılık da aramayla eşleşen dosyaları silmek, bu komut /C "cmd /c del @File

Ancak, yalnızca doğru dosyaların silindiğinden emin olmak için delete komutunu vermeden önce, çıktının test edilmesi önerilir. Deneyimli kullanıcılar forfilleri düzenli olarak yürütmek için bir toplu iş dosyası oluşturabilir.