Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Выбирает и выполняет команду в файле или наборе файлов. Эта команда чаще всего используется в пакетных файлах.
Syntax
forfiles [/P pathname] [/M searchmask] [/S] [/C command] [/D [+ | -] [{<date> | <days>}]]
Parameters
| Parameter | Description |
|---|---|
/ <pathname> |
Указывает путь, с которого нужно запустить поиск. По умолчанию поиск начинается в текущем рабочем каталоге. |
/М <searchmask> |
Выполняет поиск файлов в соответствии с указанной маской поиска. По умолчанию используется поисковая маска *. |
| /S | Указывает команде forfiles выполнять рекурсивный поиск в подкаталогах. |
/С <command> |
Выполняет указанную команду в каждом файле. Строки команд должны быть заключены в двойные кавычки. Команда по умолчанию — "cmd /c echo @file". |
/D [{+\|-}][{<date> | <days>}] |
Выбирает файлы с последней датой изменения в течение указанного интервала времени:
|
| /? | Отображает текст справки в окне cmd. |
Remarks
Команда
forfiles /Sаналогичнаdir /S.В командной строке можно использовать следующие переменные, как указано в параметре командной строки /C :
Variable Description @FILE File name. @FNAME Имя файла без расширения. @EXT Расширение имени файла. @PATH Полный путь к файлу. @RELPATH Относительный путь к файлу. @ISDIR Вычисляется значение TRUE, если тип файла является каталогом. В противном случае эта переменная оценивается как FALSE. @FSIZE Размер файла в байтах. @FDATE Последняя метка даты изменения в файле. @FTIME Последняя измененная метка времени в файле. Команда forfiles позволяет выполнить команду над несколькими файлами или передать им аргументы. Например, можно выполнить команду type для всех файлов в дереве с расширением .txt имя файла. Или можно выполнить каждый пакетный файл (*.bat) на диске C с именем файла Myinput.txt в качестве первого аргумента.
Эта команда может:
Выберите файлы по абсолютной или относительной дате с помощью параметра /d .
Создайте дерево архивных файлов с помощью таких переменных, как @FSIZE и @FDATE.
Отличить файлы от каталогов с помощью переменной @ISDIR.
Включите специальные символы в командную строку с помощью шестнадцатеричного кода для символа в формате 0xHH (например, 0x09 для табуляции).
Эта команда работает путем реализации флага
recurse subdirectoriesна средствах, предназначенных для обработки только одного файла.
Examples
Чтобы получить список всех пакетных файлов на диске C, введите следующее:
forfiles /P c:\ /S /M *.bat /C "cmd /c echo @file is a batch file"
Чтобы получить список всех каталогов на диске C, введите следующее:
forfiles /P c:\ /S /M * /C "cmd /c if @isdir==TRUE echo @file is a directory"
Чтобы получить список всех файлов в текущем каталоге, которые по крайней мере один год, введите:
forfiles /S /M *.* /D -365 /C "cmd /c echo @file is at least one year old."
Чтобы отобразить устаревший текстовый файл для каждого из файлов в текущем каталоге, которые старше 1 января 2007 года, введите:
forfiles /S /M *.* /D -01/01/2007 /C "cmd /c echo @file is outdated."
Чтобы вывести список расширений имени файла всех файлов в текущем каталоге в формате столбца и добавить вкладку перед расширением, введите:
forfiles /S /M *.* /C "cmd /c echo The extension of @file is 0x09@ext"