Gunakan Forfiles Untuk Memproses File Berdasarkan Umur
- Kategori: Windows
Itu selalu baik untuk mengetahui beberapa keajaiban baris perintah, karena terkadang lebih mudah untuk memproses perintah dengan cara itu.
Panduan ini mendemonstrasikan Forfiles perintah di Windows Vista dan Windows 7 (Pembaruan: Juga tersedia di versi Windows yang lebih baru).
File dapat memproses file berdasarkan nama, ekstensi file dan umur. Misalnya mungkin untuk menemukan semua dokumen dalam direktori yang lebih lama dari 20 hari, atau semua dokumen di c: dokumen yang telah diubah sejak tanggal tertentu.
Perintah forfiles dapat digabungkan dengan opsi pemrosesan untuk menghapus file tersebut, atau untuk membuat daftar semua file yang cocok dengan filter. Mari kita lihat lebih dekat pada perintah forfiles.
FORFILES [/ P pathname] [/ M searchmask] [/ S] [/ C perintah] [/ D [+ | -] hh / BB / tttt]
Deskripsi: Memilih file (atau sekumpulan file) dan menjalankan perintah pada file itu. Ini berguna untuk pekerjaan batch.
Daftar Parameter:
- / P pathname Menunjukkan jalur untuk mulai mencari. Folder default adalah direktori kerja saat ini (.).
- / M searchmask Mencari file menurut searchmask. Searchmask default adalah '*'.
- / S Menginstruksikan agar file masuk kembali ke subdirektori. Seperti 'DIR / S'.
- / C perintah Menunjukkan perintah yang akan dijalankan untuk setiap file. String perintah harus dibungkus dengan tanda kutip ganda. Perintah defaultnya 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 dari file tersebut.
- @ relpath - mengembalikan jalur relatif file.
- @isdir - mengembalikan 'TRUE' jika jenis file adalah direktori, dan 'FALSE' untuk file.
- @fsize - mengembalikan ukuran file dalam byte.
- @fdate - mengembalikan tanggal terakhir file diubah.
- @ftime - mengembalikan waktu terakhir file diubah.
Untuk menyertakan karakter khusus di baris perintah, gunakan kode heksadesimal untuk karakter dalam format 0xHH (mis. 0x09 untuk tab). Perintah CMD.exe internal harus diawali dengan 'cmd / c'.
/ D date Memilih file dengan tanggal modifikasi terakhir lebih besar 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 besar dari atau sama dengan (+) tanggal sekarang ditambah hari 'dd', atau kurang dari atau sama dengan (-) tanggal sekarang dikurangi hari 'hh'. Jumlah hari 'dd' yang valid dapat berupa angka apa pun dalam kisaran 0 - 32768. '+' diambil sebagai tanda default jika tidak ditentukan.
/? Menampilkan pesan bantuan ini. File bantuan ini dapat dibuka dengan memasukkan perintah forfiles /? di prompt perintah. Tekan Windows-R, ketik cmd, dan tekan enter untuk meluncurkan baris perintah di Windows.
Perintah untuk file / P c: test / M .doc / S / D -10
mencari direktori c: test dan semua subdirektorinya untuk file dengan ekstensi .doc yang lebih lama dari 10 hari.
Parameter / p diikuti oleh direktori mendefinisikan direktori awal, / s menyertakan 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
echo nama setiap file yang ditemukan dan simpan hasilnya di text.txt di direktori yang sama.
Perintah lengkapnya akan terlihat seperti ini untuk file / 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 benar yang dihapus. Pengguna berpengalaman dapat membuat file batch untuk mengeksekusi file secara teratur.