Gunakan Forfile Untuk Memproses File Berdasarkan Usia

Itu selalu baik untuk mengetahui beberapa sihir baris perintah, karena kadang-kadang lebih mudah untuk memproses perintah seperti itu.

Panduan ini menunjukkan perintah Forfiles di Windows Vista dan Windows 7 (Pembaruan: Juga tersedia di versi Windows yang lebih baru).

Forfile dapat memproses file berdasarkan nama, ekstensi file, dan usia. Misalnya dimungkinkan untuk menemukan semua dokumen dalam direktori yang lebih dari 20 hari, atau semua dokumen dalam c: \ dokumen yang telah diubah sejak tanggal tertentu.

Perintah forfiles dapat digabungkan dengan opsi pemrosesan untuk menghapus file-file itu, atau untuk membuat daftar semua file yang cocok dengan filter. Mari kita melihat lebih dekat pada perintah forfiles.

FORFILES [/ P pathname] [/ M searchmask] [/ S] [/ C perintah] [/ D [+ | -] dd / MM / tttt]

Deskripsi: Memilih file (atau set file) dan menjalankan perintah pada file itu. Ini membantu untuk pekerjaan batch.

Daftar Parameter:

  • / P pathname Menunjukkan jalur untuk mulai mencari. Folder default adalah direktori kerja saat ini (.).
  • / M searchmask Mencari file sesuai dengan searchmask. Searchmask default adalah '*'.
  • / S Menginstruksikan forfile untuk kembali ke subdirektori. Seperti "DIR / S".
  • / C perintah Menunjukkan perintah untuk mengeksekusi untuk setiap file. String perintah harus dibungkus dengan tanda kutip ganda. Perintah default adalah "cmd / c echo @file".

Variabel berikut dapat digunakan dalam string perintah:

  • @file - mengembalikan nama file.
  • @fname - mengembalikan nama file tanpa ekstensi.
  • @ext - hanya mengembalikan ekstensi file.
  • @path - mengembalikan path lengkap file.
  • @relpath - mengembalikan jalur relatif file.
  • @ isdir - mengembalikan "TRUE" jika tipe file adalah direktori, dan "FALSE" untuk file.
  • @ ukuran - mengembalikan ukuran file dalam byte.
  • @tanggal - mengembalikan tanggal modifikasi terakhir dari file.
  • @ftime - mengembalikan waktu file terakhir yang dimodifikasi.

Untuk memasukkan karakter khusus dalam baris perintah, gunakan kode heksadesimal untuk karakter dalam format 0xHH (mis. 0x09 untuk tab). Perintah CMD.exe internal harus didahului dengan "cmd / c".

/ D date Memilih file dengan tanggal modifikasi terakhir lebih dari atau sama dengan (+), atau kurang dari atau sama dengan (-), tanggal yang ditentukan menggunakan format "dd / MM / yyyy"; atau memilih file dengan tanggal modifikasi terakhir lebih dari atau sama dengan (+) tanggal saat ini ditambah hari "dd", atau kurang dari atau sama dengan (-) tanggal saat ini dikurangi hari "dd". Jumlah hari "dd" yang valid dapat berupa angka dalam kisaran 0 - 32768. "+" diambil sebagai tanda default jika tidak ditentukan.

/? Menampilkan pesan bantuan ini. File bantuan ini dapat dibuka dengan memasukkan perintah forfiles /? dalam prompt perintah. Tekan Windows-R, ketik cmd, dan tekan enter untuk meluncurkan baris perintah di Windows.

Perintah forfiles /P c:\test\ /M .doc /S /D -10 mencari direktori c: \ test dan semua subdirektori untuk file dengan ekstensi .doc yang lebih dari 10 hari.

Parameter / p diikuti oleh direktori mendefinisikan direktori awal, / s termasuk subdirektori dalam pencarian, / m menyaring file dan folder berdasarkan string yang dimasukkan, dan / D mendefinisikan tanggal atau rentang waktu.

Perintah / C digunakan untuk memproses file yang ditemukan lebih lanjut. Misalnya dapat digunakan untuk menjalankan perintah berikut: /C "cmd /c echo @fname" > test.txt menggemakan nama-nama setiap file yang ditemukan dan menyimpan hasilnya dalam text.txt di direktori yang sama.

Perintah lengkap kemudian terlihat seperti ini untuk forfiles /P c:\test\ /M .doc /S /D -10 /C "cmd /c echo @fname" > test.txt

Kemungkinan lain adalah menghapus file yang cocok dengan pencarian, ini dilakukan dengan perintah /C "cmd /c del @File

Namun disarankan untuk menguji output terlebih dahulu, sebelum mengeluarkan perintah delete untuk memastikan bahwa hanya file yang tepat yang dihapus. Pengguna yang berpengalaman dapat membuat file batch untuk menjalankan file forfile secara teratur.