Usa Forfile per elaborare file in base all'età
- Categoria: Finestre
È sempre utile conoscere qualche magia da riga di comando, poiché a volte è più facile elaborare i comandi in questo modo.
Questa guida mostra il forfiles comando in Windows Vista e Windows 7 (Aggiornamento: disponibile anche nelle versioni più recenti di Windows).
Forfiles può elaborare file in base a nomi, estensioni di file ed età. Ad esempio, è possibile trovare tutti i documenti in una directory più vecchi di 20 giorni o tutti i documenti in c: documenti che sono stati modificati da una data specifica.
Il comando forfiles può essere abbinato alle opzioni di elaborazione per eliminare quei file o per creare un elenco di tutti i file che corrispondono ai filtri. Diamo un'occhiata più da vicino al comando forfiles.
FORFILES [/ P pathname] [/ M searchmask] [/ S] [/ C command] [/ D [+ | -] gg / MM / aaaa]
Descrizione: seleziona un file (o un insieme di file) ed esegue un comando su quel file. Questo è utile per i lavori batch.
Elenco dei parametri:
- / P pathname Indica il percorso per avviare la ricerca. La cartella predefinita è la directory di lavoro corrente (.).
- / M searchmask Cerca i file in base a una maschera di ricerca. La maschera di ricerca predefinita è '*'.
- / S Indica a forfile di ricorrere alle sottodirectory. Come 'DIR / S'.
- Comando / C Indica il comando da eseguire per ogni file. Le stringhe di comando devono essere racchiuse tra virgolette doppie. Il comando predefinito è 'cmd / c echo @file'.
Le seguenti variabili possono essere utilizzate nella stringa di comando:
- @file - restituisce il nome del file.
- @fname - restituisce il nome del file senza estensione.
- @ext - restituisce solo l'estensione del file.
- @path - restituisce il percorso completo del file.
- @relpath - restituisce il percorso relativo del file.
- @isdir - restituisce 'TRUE' se un tipo di file è una directory e 'FALSE' per i file.
- @fsize - restituisce la dimensione del file in byte.
- @fdate - restituisce la data dell'ultima modifica del file.
- @ftime - restituisce l'ora dell'ultima modifica del file.
Per includere caratteri speciali nella riga di comando, utilizzare il codice esadecimale per il carattere nel formato 0xHH (es. 0x09 per tabulazione). I comandi CMD.exe interni devono essere preceduti da 'cmd / c'.
/ D data Seleziona i file con una data dell'ultima modifica maggiore o uguale a (+), o minore o uguale a (-), la data specificata utilizzando il formato 'gg / MM / aaaa'; o seleziona i file con una data dell'ultima modifica maggiore o uguale a (+) la data corrente più i giorni 'gg' o minore o uguale a (-) la data corrente meno i giorni 'gg'. Un numero di giorni 'gg' valido può essere qualsiasi numero compreso tra 0 e 32768. '+' viene considerato come segno predefinito se non specificato.
/? Visualizza questo messaggio di aiuto. Questo file della guida può essere aperto immettendo il comando forfiles /? in un prompt dei comandi. Premi Windows-R, digita cmd e premi Invio per avviare la riga di comando in Windows.
Il comando forfiles / P c: test / M .doc / S / D -10
cerca nella directory c: test e in tutte le sue sottodirectory i file con estensione .doc più vecchi di 10 giorni.
Il parametro / p seguito da una directory definisce la directory iniziale, / s include sottodirectory nella ricerca, / m filtra i file e le cartelle in base alla stringa inserita e / D definisce la data o un intervallo di tempo.
Il comando / C viene utilizzato per elaborare i file che si trovano ulteriormente. Ad esempio, può essere utilizzato per eseguire il seguente comando: / C 'cmd / c echo @fname'> test.txt
echeggia i nomi di ogni file trovato e salva i risultati in text.txt nella stessa directory.
Il comando completo è quindi simile a questo forfiles / P c: test / M .doc / S / D -10 / C 'cmd / c echo @fname'> test.txt
Un'altra possibilità è eliminare i file che corrispondono alla ricerca, questo viene fatto con il comando / C 'cmd / c del @File
Si consiglia tuttavia di testare prima l'output, prima di emettere il comando di cancellazione per assicurarsi che vengano eliminati solo i file corretti. Gli utenti esperti possono creare un file batch per eseguire regolarmente i file.