Използвайте файлове за обработка на файлове въз основа на възрастта

Винаги е добре да знаете някаква магия на командния ред, тъй като понякога е по-лесно да обработвате команди по този начин.

Това ръководство демонстрира командата Forfiles в Windows Vista и Windows 7 (Актуализация: Предлага се и в по-нови версии на Windows).

Forfiles могат да обработват файлове въз основа на имена, разширения на файлове и възраст. Възможно е например да намерите всички документи в директория, които са по-стари от 20 дни, или всички документи в c: \ документи, които са променени от определена дата.

Командата forfiles може да бъде съчетана с опции за обработка, за да изтриете тези файлове, или да създадете списък на всички файлове, които съответстват на филтрите. Нека разгледаме по-отблизо командата forfiles.

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

Описание: Избира файл (или набор от файлове) и изпълнява команда на този файл. Това е полезно за партидни задачи.

Списък с параметри:

  • / P име на път Показва пътя, за да започнете да търсите. Папката по подразбиране е текущата работна директория (.).
  • / M searchmask Търси файлове според маска за търсене. Основната маска за търсене е „*“.
  • / S Инструктира файловете да се рекурсират в поддиректории. Като „DIR / S“.
  • / C команда Показва командата за изпълнение за всеки файл. Командните низове трябва да бъдат увити в двойни кавички. Командата по подразбиране е "cmd / c echo @file".

Следните променливи могат да се използват в командния низ:

  • @file - връща името на файла.
  • @fname - връща името на файла без разширение.
  • @ext - връща само разширението на файла.
  • @path - връща пълния път на файла.
  • @relpath - връща относителния път на файла.
  • @isdir - връща "TRUE", ако типът файл е директория, и "FALSE" за файлове.
  • @fsize - връща размера на файла в байтове.
  • @fdate - връща последната модифицирана дата на файла.
  • @ half - връща последното изменено време на файла.

За да включите специални символи в командния ред, използвайте шестнадесетичен код за символа във формат 0xHH (напр. 0x09 за раздел). Вътрешните CMD.exe команди трябва да се предхождат с "cmd / c".

/ D дата Избира файлове с последна модифицирана дата, по-голяма или равна на (+), или по-малка или равна на (-), определената дата, използвайки формат „dd / MM / yyyy“; или избира файлове с последна модифицирана дата, по-голяма или равна на (+) текущата дата плюс „dd“ дни, или по-малка или равна на (-) текущата дата минус „dd“ дни. Валиден брой дни „dd“ може да бъде произволен брой в диапазона от 0 - 32768. „+“ се приема като знак по подразбиране, ако не е посочен.

/? Показва това помощно съобщение. Този помощен файл може да бъде отворен, като въведете командните файлове /? в команден ред. Натиснете Windows-R, въведете cmd и натиснете Enter, за да стартирате командния ред в Windows.

Командата forfiles /P c:\test\ /M .doc /S /D -10 търси директорията c: \ test и всички нейни поддиректории за файлове с разширение .doc, които са по-стари от 10 дни.

Параметърът / p, последван от директория, определя началната директория, / s включва поддиректории в търсенето, / m филтрира файловете и папките въз основа на въведения низ и / D определя датата или периодът от време.

Командата / C се използва за обработка на файлове, които са намерени допълнително. Например може да се използва за стартиране на следната команда: /C "cmd /c echo @fname" > test.txt ехо имената на всеки намерен файл и запазване на резултатите в text.txt в същата директория.

След това пълната команда изглежда така forfiles /P c:\test\ /M .doc /S /D -10 /C "cmd /c echo @fname" > test.txt

Друга възможност е да изтриете файловете, които съответстват на търсенето, това става с командата /C "cmd /c del @File

Въпреки това се препоръчва първо да се тества изходът, преди да се издаде командата за изтриване, за да се уверите, че са изтрити само правилните файлове. Опитните потребители могат да създадат пакетен файл, за да изпълняват редовно файлове.