Pro zpracování souborů podle věku použijte formáty

Vždy je dobré znát nějakou magii příkazového řádku, protože někdy je jednodušší zpracovat příkazy tímto způsobem.

Tato příručka demonstruje příkaz Forfiles v systému Windows Vista a Windows 7 (Aktualizace: K dispozici také v novějších verzích systému Windows).

Forfiles umí zpracovat soubory na základě jmen, přípon souborů a věku. Je například možné najít všechny dokumenty v adresáři, které jsou starší než 20 dnů, nebo všechny dokumenty v c: \ dokumenty, které byly změněny od určitého data.

Příkaz forfiles může být spojen s možnostmi zpracování k odstranění těchto souborů nebo k vytvoření seznamu všech souborů, které odpovídají filtrům. Podívejme se blíže na příkaz forfiles.

FORFILES [/ P pathname] [/ M searchmask] [/ S] [/ C command] [/ D [+ | -] dd / MM / rrrr]

Popis: Vybere soubor (nebo sadu souborů) a provede na něm příkaz. To je užitečné pro dávkové úlohy.

Seznam parametrů:

  • / P pathname Označuje cestu k zahájení vyhledávání. Výchozí složka je aktuální pracovní adresář (.).
  • / M searchmask Prohledává soubory podle vyhledávací masky. Výchozí vyhledávací maska ​​je '*'.
  • / S Pokynuje, aby se soubory ukládaly do podadresářů. Jako „DIR / S“.
  • Příkaz / C Označuje příkaz, který se má provést pro každý soubor. Příkazové řetězce by měly být zabaleny do dvojitých uvozovek. Výchozí příkaz je "cmd / c echo @file".

V příkazovém řetězci lze použít následující proměnné:

  • @file - vrací název souboru.
  • @fname - vrátí název souboru bez přípony.
  • @ext - vrací pouze příponu souboru.
  • @ cesta - vrátí úplnou cestu k souboru.
  • @relpath - vrací relativní cestu k souboru.
  • @isdir - vrací "TRUE", pokud je typ souboru adresář, a "FALSE" pro soubory.
  • @fsize - vrací velikost souboru v bajtech.
  • @fdate - vrací poslední změněné datum souboru.
  • @ftime - vrací poslední upravený čas souboru.

Chcete-li do příkazového řádku zahrnout speciální znaky, použijte hexadecimální kód pro znak ve formátu 0xHH (např. 0x09 pro kartu). Interním příkazům CMD.exe by mělo předcházet „cmd / c“.

/ D datum Vybere soubory s posledním upraveným datem větším nebo rovným (+) nebo menším nebo rovným (-), určeným datem ve formátu „dd / MM / rrrr“; nebo vybere soubory s posledním pozměněným datem větším nebo rovným (+) aktuálnímu datu plus „dd“ dní nebo menším nebo rovným (-) současnému datu mínus „dd“ dní. Platný počet dní "dd" může být libovolné číslo v rozsahu 0 - 32768. "+" je považováno za výchozí znaménko, pokud není uvedeno.

/? Zobrazí tuto zprávu nápovědy. Tento soubor nápovědy lze otevřít zadáním příkazu forfiles /? v příkazovém řádku. Stisknutím klávesy Windows-R, zadejte příkaz cmd a stiskem klávesy Enter spusťte příkazový řádek ve Windows.

Příkaz forfiles /P c:\test\ /M .doc /S /D -10 prohledává adresář c: \ test a všechny jeho podadresáře pro soubory s příponou .doc, které jsou starší než 10 dní.

Parametr / p následovaný adresářem definuje počáteční adresář, / s zahrnuje podadresáře ve vyhledávání, / m filtruje soubory a složky na základě zadaného řetězce a / D definuje datum nebo časové rozpětí.

Příkaz / C se používá ke zpracování souborů, které jsou dále nalezeny. Může být například použit ke spuštění následujícího příkazu: /C "cmd /c echo @fname" > test.txt echo jména každého nalezeného souboru a uložení výsledků do text.txt ve stejném adresáři.

Úplný příkaz pak vypadá takto: forfiles /P c:\test\ /M .doc /S /D -10 /C "cmd /c echo @fname" > test.txt

Další možností je smazat soubory, které odpovídají vyhledávání, a to pomocí příkazu /C "cmd /c del @File

Doporučujeme však nejprve otestovat výstup před vydáním příkazu delete, abyste se ujistili, že jsou smazány pouze správné soubory. Zkušení uživatelé mohou vytvořit dávkový soubor pro pravidelné spouštění forfiles.