Na spracovanie súborov podľa veku použite súbory Forfiles

Vždy je dobré poznať nejakú mágiu príkazového riadku, pretože niekedy je ľahšie spracovať príkazy týmto spôsobom.

Táto príručka demonštruje príkaz Forfiles v systémoch Windows Vista a Windows 7 (Aktualizácia: Dostupné aj v novších verziách systému Windows).

Forfiles dokáže spracovať súbory na základe mien, prípon súborov a veku. Napríklad je možné nájsť všetky dokumenty v adresári, ktoré sú staršie ako 20 dní, alebo všetky dokumenty v c: \ dokumenty, ktoré boli zmenené od určitého dátumu.

Príkaz forfiles môže byť spojený s voľbami spracovania na vymazanie týchto súborov alebo na vytvorenie zoznamu všetkých súborov, ktoré zodpovedajú filtrom. Pozrime sa bližšie na príkaz forfiles.

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

Opis: Vyberie súbor (alebo skupinu súborov) a vykoná príkaz na tento súbor. To je užitočné pre dávkové úlohy.

Zoznam parametrov:

  • / P pathname Označuje cestu, ktorá má začať vyhľadávanie. Predvolený priečinok je aktuálny pracovný adresár (.).
  • / M searchmask Vyhľadáva súbory podľa vyhľadávacej masky. Predvolená vyhľadávacia maska ​​je „*“.
  • / S nariaďuje forfiles, aby sa opakovali do podadresárov. Napríklad „DIR / S“.
  • Príkaz / C Označuje príkaz, ktorý sa má vykonať pre každý súbor. Príkazové reťazce by mali byť zabalené do dvojitých úvodzoviek. Predvolený príkaz je „cmd / c echo @file“.

V príkazovom reťazci sa môžu použiť tieto premenné:

  • @file - vráti názov súboru.
  • @fname - vráti názov súboru bez prípony.
  • @ext - vráti iba príponu súboru.
  • @ cesta - vráti úplnú cestu k súboru.
  • @relpath - vráti relatívnu cestu k súboru.
  • @isdir - vráti „TRUE“, ak je typ súboru adresár, a „FALSE“ pre súbory.
  • @fsize - vráti veľkosť súboru v bajtoch.
  • @fdate - vráti posledný upravený dátum súboru.
  • @ftime - vráti posledný upravený čas súboru.

Ak chcete do príkazového riadka zahrnúť špeciálne znaky, použite hexadecimálny kód pre znak vo formáte 0xHH (napr. 0x09 pre kartu). Interným príkazom CMD.exe by malo predchádzať písmeno „cmd / c“.

/ D dátum Vyberie súbory s posledným upraveným dátumom väčším alebo rovným (+) alebo menším alebo rovným (-), určeným dátumom vo formáte „dd / MM / rrrr“; alebo vyberá súbory s posledným modifikovaným dátumom väčším alebo rovným (+) aktuálnemu dátumu plus „dd“ dní alebo menej alebo rovným (-) aktuálnemu dátumu mínus „dd“ dní. Platným počtom dní „dd“ môže byť ľubovoľné číslo v rozsahu 0 - 32 768. Ak nie je uvedené, ako predvolená značka sa považuje „+“.

/? Zobrazuje túto správu pomocníka. Tento súbor pomocníka je možné otvoriť zadaním príkazu forfiles /? v príkazovom riadku. Stlačením klávesu Windows-R, zadaním príkazu cmd a stlačením klávesu Enter spustite príkazový riadok v systéme Windows.

Príkaz forfiles /P c:\test\ /M .doc /S /D -10 prehľadá adresár c: \ test a všetky jeho podadresáre pre súbory s príponou .doc, ktoré sú staršie ako 10 dní.

Parameter / p, za ktorým nasleduje adresár, definuje počiatočný adresár, / s obsahuje podadresáre vo vyhľadávaní, / m filtruje súbory a priečinky na základe zadaného reťazca a / D definuje dátum alebo časové rozpätie.

Príkaz / C sa používa na spracovanie súborov, ktoré sa nachádzajú ďalej. Môže sa napríklad použiť na spustenie nasledujúceho príkazu: /C "cmd /c echo @fname" > test.txt ozve názvy všetkých nájdených súborov a uloží výsledky do text.txt do rovnakého adresára.

Celý príkaz potom vyzerá nasledovne: forfiles /P c:\test\ /M .doc /S /D -10 /C "cmd /c echo @fname" > test.txt

Ďalšou možnosťou je vymazať súbory, ktoré zodpovedajú vyhľadávaniu, a to pomocou príkazu /C "cmd /c del @File

Odporúča sa však otestovať výstup pred vydaním príkazu delete, aby ste sa uistili, že sa odstránia iba správne súbory. Skúsení používatelia môžu vytvoriť dávkový súbor na pravidelné vykonávanie súborov forfiles.