Я ищу утилиту Windows, которая может искать файлы, удовлетворяющие определенным критериям (например, тип файла "Word" (.doc или .docx), с датой последнего изменения старше 1 года назад), и выполнять несколько действий над ними всеми (например, удалить их, или переместить их в другое место, или скопировать их и изменить их архивные биты).

Что вы порекомендуете?

3 ответа3

1

Самым простым будет Cygwin, но он немного тяжеловесный, если вы хотите сделать именно это. Вы можете получить автономную версию find+xargs с помощью findutils. Затем вы можете использовать это так же, как на платформе Linux.

0

Я использую Directory Opus для такого рода вещей. Он отображает найденные файлы в одном окне, и вы можете выполнять все обычные файловые операции с найденным результатом.

0

Для Vista и более поздних forfiles встроенных файлов (technet.microsoft.com/en-us/library/cc753551%28v=ws.10%29.aspx) кажется очевидным выбором для простых задач.

(сверху ms страница, модифицированная)
Синтаксис:

forfiles [/p <Path>] [/m <SearchMask>] [/s] [/c "<Command>"] [/d [{+|-}][{<Date>|<Days>}]]

Forfiles может выбрать файлы и затем запустить команду для них:

Имя файла.
Имя файла без расширения.
Расширение имени файла.
Полный путь к файлу. Относительный путь к файлу.
Будь то файл или каталог.
Размер файла в байтах. Дата последнего изменения штампа в файле.
Последнее изменение метки времени в файле.

Для запуска внутренней команды (например, dir attrib и т.д.) Вам потребуется использовать командный синтаксис cmd /c command . Если вам нужно запустить более одной команды, вы можете связать их с помощью & или поместить в пакетный файл.

Если вам нужно что-то более сложное (сочетание масок и т.д.) Я бы использовал powershell .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .