Bruk arkiver for å behandle filer basert på alder

Det er alltid bra å kjenne til noen kommandolinjemagi, fordi det noen ganger er lettere å behandle kommandoer på den måten.

Denne guiden demonstrerer Forfiles-kommandoen i Windows Vista og Windows 7 (Oppdatering: Også tilgjengelig i nyere versjoner av Windows).

Forfiles kan behandle filer basert på navn, filendelser og alder. Det er for eksempel mulig å finne alle dokumenter i en katalog som er over 20 dager, eller alle dokumenter i c: \ dokumenter som er endret siden en bestemt dato.

Forfiles-kommandoen kan kobles til behandlingsalternativer for å slette disse filene, eller for å lage en liste over alle filer som samsvarer med filtrene. La oss se nærmere på forfiles-kommandoen.

FORFILER [/ P banenavn] [/ M søkemask] [/ S] [/ C-kommando] [/ D [+ | -] dd / MM / åååå]

Beskrivelse: Velger en fil (eller sett med filer) og utfører en kommando på den filen. Dette er nyttig for batchjobber.

Parameterliste:

  • / P banenavn Angir banen du skal begynne å søke på. Standardmappen er den gjeldende arbeidskatalogen (.).
  • / M søkemask Søker etter filer i henhold til en søkemaske. Standard søkemaske er '*'.
  • / S instruerer forfiler å resirkulere i underkataloger. Som "DIR / S".
  • / C-kommando Indikerer kommandoen som skal utføres for hver fil. Kommandostrenger skal pakkes inn i doble sitater. Standardkommandoen er "cmd / c echo @file".

Følgende variabler kan brukes i kommandostrengen:

  • @fil - returnerer navnet på filen.
  • @fname - returnerer filnavnet uten utvidelse.
  • @ext - returnerer bare filtypen.
  • @path - returnerer hele banen til filen.
  • @relpath - returnerer filens relative bane.
  • @isdir - returnerer "SANN" hvis en filtype er en katalog, og "FALSE" for filer.
  • @fsize - returnerer størrelsen på filen i byte.
  • @fdate - returnerer den sist endrede datoen for filen.
  • @ Pause - returnerer den siste endrede tiden for filen.

Hvis du vil inkludere spesialtegn i kommandolinjen, bruker du den heksadesimale koden for tegnet i 0xHH-format (eks. 0x09 for fane). Interne CMD.exe-kommandoer bør gå foran "cmd / c".

/ D-dato Velger filer med en sist endret dato større enn eller lik (+), eller mindre enn eller lik (-), den angitte datoen ved hjelp av formatet "dd / MM / åååå"; eller velger filer med en sist endret dato større enn eller lik (+) gjeldende dato pluss "dd" dager, eller mindre enn eller lik (-) gjeldende dato minus "dd" dager. Et gyldig "dd" antall dager kan være et hvilket som helst tall i området 0 - 32768. "+" blir tatt som standardtegn hvis ikke spesifisert.

/? Viser denne hjelpemeldingen. Denne hjelpefilen kan åpnes ved å gå inn i kommandofilen /? i en ledetekst. Trykk Windows-R, skriv cmd og trykk enter for å starte kommandolinjen i Windows.

Kommandoen forfiles /P c:\test\ /M .doc /S /D -10 søker i katalogen c: \ test og alle dens underkataloger etter filer med .doc-utvidelsen som er eldre enn 10 dager.

Parameteren / p etterfulgt av en katalog definerer startkatalogen, / s inkluderer underkataloger i søket, / m filtrerer filene og mappene basert på den angitte strengen, og / D definerer dato eller tidsperiode.

Kommandoen / C brukes til å behandle filene som blir funnet videre. Den kan for eksempel brukes til å kjøre følgende kommando: /C "cmd /c echo @fname" > test.txt ekko navnene på hver fil som er funnet og lagre resultatene i text.txt i samme katalog.

Den fullstendige kommandoen ser da ut som dette forfiles /P c:\test\ /M .doc /S /D -10 /C "cmd /c echo @fname" > test.txt

En annen mulighet er å slette filene som samsvarer med søket, dette gjøres med kommandoen /C "cmd /c del @File

Det anbefales imidlertid å teste utdataene før du sletter ut slettekommandoen for å sikre at bare de riktige filene blir slettet. Erfarne brukere kan lage en batch-fil for å utføre arkiver regelmessig.