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.