Folosiți fișiere pentru a prelucra fișierele în funcție de vârstă

Este întotdeauna bine să cunoașteți unele magii ale liniilor de comandă, deoarece uneori este mai ușor să procesați comenzile în acest fel.

Acest ghid demonstrează comanda Forfiles în Windows Vista și Windows 7 (Actualizare: Disponibil și în versiunile mai noi de Windows).

Fișierele pot prelucra fișiere în funcție de nume, extensii de fișiere și vârstă. De exemplu, este posibil să găsiți toate documentele dintr-un director care sunt mai vechi de 20 de zile sau toate documentele din c: \ documente care au fost schimbate de la o anumită dată.

Comanda forfiles poate fi cuplată cu opțiuni de procesare pentru a șterge acele fișiere sau pentru a crea o listă cu toate fișierele care se potrivesc filtrelor. Să aruncăm o privire mai atentă la comanda forfiles.

FORFILES [/ P nume nume] [/ Mmasmas de cautare] [/ S] [/ C comanda] [/ D [+ | -] dd / MM / aaaa]

Descriere: selectează un fișier (sau un set de fișiere) și execută o comandă pentru acel fișier. Acest lucru este util pentru lucrările pe lot.

Lista parametrilor:

  • / P nume de cale indică calea pentru a începe căutarea. Dosarul implicit este directorul de lucru curent (.).
  • / M searchmask Căută fișiere în funcție de o mască de căutare. Masca de căutare implicită este „*”.
  • / S Instruiește ca fișierele să recurgă la subdirectorii. Ca „DIR / S”.
  • / C comanda Indică comanda de executat pentru fiecare fișier. Șirurile de comandă ar trebui să fie învelite în ghilimele duble. Comanda implicită este „cmd / c echo @file”.

În șirul de comandă pot fi utilizate următoarele variabile:

  • @file - returnează numele fișierului.
  • @fname - returnează numele fișierului fără extensie.
  • @ext - returnează doar extensia fișierului.
  • @path - returnează calea completă a fișierului.
  • @relpath - returnează calea relativă a fișierului.
  • @isdir - returnează „TRUE” dacă un tip de fișier este un director și „FALSE” pentru fișiere.
  • @fsize - returnează dimensiunea fișierului în octeți.
  • @fdate - returnează ultima modificare a fișierului.
  • @ftime - returnează ultima modificare a fișierului.

Pentru a include caractere speciale în linia de comandă, utilizați codul hexadecimal pentru caracterul în format 0xHH (ex. 0x09 pentru filă). Comenzile interne CMD.exe trebuie să fie precedate de „cmd / c”.

/ D data Selectează fișierele cu o ultimă dată modificată mai mare sau egală cu (+) sau mai mică sau egală cu (-), data specificată folosind formatul „dd / MM / aaaa”; sau selectează fișierele cu o ultimă dată modificată mai mare sau egală cu (+) data curentă plus zile „dd” sau mai puțin sau egală cu (-) data curentă minus zile „dd”. Un număr de zile "dd" valabil poate fi orice număr în intervalul 0 - 32768. "+" este luat ca semn implicit, dacă nu este specificat.

/? Afișează acest mesaj de ajutor. Acest fișier de ajutor poate fi deschis prin introducerea comenzii forfiles /? într-un prompt de comandă. Apăsați Windows-R, tastați cmd și apăsați Enter pentru a lansa linia de comandă în Windows.

Comanda forfiles /P c:\test\ /M .doc /S /D -10 caută în directorul c: \ test și în toate subdirectoriile sale pentru fișierele cu extensia .doc care sunt mai vechi de 10 zile.

Parametrul / p urmat de un director definește directorul de început, / s include subdirectorii în căutare, / m filtrează fișierele și folderele bazate pe șirul introdus și / D definește data sau un interval de timp.

Comanda / C este utilizată pentru procesarea fișierelor care se găsesc în continuare. Poate fi de exemplu folosit pentru a rula următoarea comandă: /C "cmd /c echo @fname" > test.txt ecou numele fiecărui fișier găsit și salvați rezultatele în text.txt în același director.

Apoi, comanda completă arată astfel: forfiles /P c:\test\ /M .doc /S /D -10 /C "cmd /c echo @fname" > test.txt

O altă posibilitate este să ștergeți fișierele care se potrivesc căutării, aceasta se face cu comanda /C "cmd /c del @File

Cu toate acestea, este recomandat să testați mai întâi ieșirea, înainte de a emite comanda de ștergere pentru a vă asigura că numai fișierele corecte sunt șterse. Utilizatorii cu experiență pot crea un fișier de lot pentru a executa regulat fișiere.