Koristite datoteke za obradu datoteka na temelju dobi

Uvijek je dobro znati neku magiju naredbenog retka, jer je naredbe ponekad lakše obraditi na taj način.

Ovaj vodič prikazuje naredbu Forfiles u sustavu Windows Vista i Windows 7 (Ažuriranje: Dostupno i u novijim verzijama sustava Windows).

Forfiles mogu obraditi datoteke na temelju imena, ekstenzija datoteka i dobi. Na primjer, moguće je pronaći sve dokumente u direktoriju starijoj od 20 dana ili sve dokumente u c: \ dokumentima koji su promijenjeni od određenog datuma.

Naredba forfiles može biti povezana s opcijama obrade za brisanje tih datoteka ili za stvaranje popisa svih datoteka koje odgovaraju filtrima. Pogledajmo bliže naredbu forfiles.

FORFILES [/ P ime puta] [/ M searchmask] [/ S] [/ C naredba] [/ D [+ | -] dd / MM / gggg]

Opis: odabire datoteku (ili skup datoteka) i izvršava naredbu na toj datoteci. Ovo je korisno za serijske poslove.

Popis parametara:

  • / P Naziv puta Označava put za početak pretraživanja. Zadana mapa je trenutni radni imenik (.).
  • / M searchmask Pretražuje datoteke prema pretraživačkoj maski. Zadana pretraživačka maska ​​je '*'.
  • / S Upućuje datoteke kako bi se mogle ponoviti u poddirektorijima. Kao "DIR / S".
  • / C naredba Označava naredbu koju treba izvršiti za svaku datoteku. Nizovi naredbi trebaju biti omotani dvostrukim navodnicima. Zadana naredba je "cmd / c echo @file".

Sljedeće se varijable mogu upotrijebiti u naredbenom nizu:

  • @file - vraća naziv datoteke.
  • @fname - vraća naziv datoteke bez proširenja.
  • @ext - vraća samo proširenje datoteke.
  • @path - vraća puni put datoteke.
  • @relpath - vraća relativni put datoteke.
  • @isdir - vraća "TRUE" ako je vrsta datoteke direktorij, i "FALSE" za datoteke.
  • @fsize - vraća veličinu datoteke u bajtovima.
  • @fdate - vraća posljednji modificirani datum datoteke.
  • @ pol - vraća posljednje izmijenjeno vrijeme datoteke.

Za uključivanje posebnih znakova u naredbeni redak koristite heksadecimalni kôd za znak u formatu 0xHH (npr. 0x09 za karticu). Unutarnjim naredbama CMD.exe treba prethoditi "cmd / c".

/ D datum Odabire datoteke s posljednjim izmjenjenim datumom većim ili jednakim (-), ili manjim ili jednakim (-), navedenim datumom koristeći format "dd / MM / gggg"; ili odabire datoteke s posljednjim izmjenjenim datumom koji je veći ili jednak (+) trenutnom datumu plus danima "dd" ili manji ili jednak (-) trenutnom datumu minus "dd" danima. Važeći "dd" broj dana može biti bilo koji broj u rasponu od 0 - 32768. "+" se uzima kao zadani znak ako nije naveden.

/? Prikazuje ovu poruku pomoći. Ovu datoteku pomoći možete otvoriti unosom naredbenih datoteka /? u naredbenom retku. Pritisnite Windows-R, upišite cmd i pritisnite Enter da biste pokrenuli naredbeni redak u sustavu Windows.

Naredba forfiles /P c:\test\ /M .doc /S /D -10 traži imenik c: \ test i sve njegove poddirektorije za datoteke s .doc nastavkom starijim od 10 dana.

Parametar / p kojem slijedi direktorij definira početnu mapu, / s uključuje poddirektoriju u pretraživanju, / m filtrira datoteke i mape na temelju unesenog niza, a / D definira datum ili vremensko razdoblje.

Naredba / C koristi se za obradu datoteka koje se nalaze dalje. Na primjer, može se koristiti za pokretanje sljedeće naredbe: /C "cmd /c echo @fname" > test.txt odjekuje imena svake pronađene datoteke i spremi rezultate u text.txt u isti direktorij.

Potpuna naredba tada izgleda ovako forfiles /P c:\test\ /M .doc /S /D -10 /C "cmd /c echo @fname" > test.txt

Druga je mogućnost brisanje datoteka koje odgovaraju pretraživanju, to se izvodi naredbom /C "cmd /c del @File

Preporučuje se, međutim, prvo testirati izlaz prije izdavanja naredbe za brisanje kako biste bili sigurni da su izbrisane samo prave datoteke. Iskusni korisnici mogu stvoriti batch datoteku za redovito izvršavanje datoteka.