Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Выбирает и выполняет команду в файле или наборе файлов. Эта команда чаще всего используется в пакетных файлах.
Синтаксис
forfiles [/P pathname] [/M searchmask] [/S] [/C command] [/D [+ | -] [{<date> | <days>}]]
Параметры
Параметр | Описание |
---|---|
/P <pathname> |
Указывает путь, с которого нужно запустить поиск. По умолчанию поиск начинается в текущем рабочем каталоге. |
/M <searchmask> |
Выполняет поиск файлов в соответствии с указанной маской поиска. По умолчанию используется поисковая маска * . |
/S | Указывает команде forfiles выполнять поиск в подкаталогах рекурсивно. |
/C <command> |
Выполняет указанную команду в каждом файле. Строки команд должны быть заключены в двойные кавычки. Команда по умолчанию — "cmd /c echo @file" . |
/D [{+\|-}][{<date> | <days>}] |
Выбирает файлы с последней датой изменения в течение указанного интервала времени:
|
/? | Отображает текст справки в окне cmd. |
Замечания
Команда
forfiles /S
аналогичнаdir /S
.В командной строке можно использовать следующие переменные, указанные параметром командной строки /C:
Переменная Описание @FILE Имя файла. @FNAME Имя файла без расширения. @EXT Расширение имени файла. @PATH Полный путь к файлу. @RELPATH Относительный путь к файлу. @ISDIR Вычисляется значение TRUE, если тип файла является каталогом. В противном случае эта переменная оценивается как FALSE. @FSIZE Размер файла в байтах. @FDATE Последняя метка даты изменения в файле. @FTIME Последняя измененная метка времени в файле. Команда forfiles позволяет выполнять команду в нескольких файлах или передавать аргументы. Например, можно запустить команду типа для всех файлов в дереве с расширением имени файла .txt. Или можно выполнить каждый пакетный файл (*.bat) на диске C с именем файла Myinput.txt в качестве первого аргумента.
Эта команда может:
Выберите файлы по абсолютной дате или относительной дате с помощью параметра /d.
Создайте дерево архивных файлов с помощью таких переменных, как @FSIZE и @FDATE.
Отличить файлы от каталогов с помощью переменной @ISDIR.
Включите специальные символы в командную строку с помощью шестнадцатеричного кода для символа в формате 0xHH (например, 0x09 для вкладки).
Эта команда работает путем реализации флага
recurse subdirectories
на средствах, предназначенных для обработки только одного файла.
Примеры
Чтобы получить список всех пакетных файлов на диске 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"