Команда FORFILES – выполнение команды для группы файлов.Формат командной строки: FORFILES [/P путь] [/M маска_поиска] [/S] [/C команда] [/D [+ | -] {dd.MM.yyyy | dd}] Параметры командной строки: /P путь - Путь, с которого начинается поиск. По умолчанию используется текущая рабочая папка (.). /M маска_поиска - Поиск файлов с помощью маски. Маска поиска по умолчанию "*" . /S - Рекурсивное выполнение программы forfiles во всех подпапках, аналогично "DIR /S". /C команда - Команда, которая выполняется для каждого файла. Строки команд необходимо заключать в прямые кавычки. Команда по умолчанию - "cmd /c echo @file". Следующие переменные могут использоваться в строке команды: @file - возвращает имя файла. @fname - возвращает имя файла без расширения. @ext - возвращает только расширение имени файла. @path - возвращает полный путь к файлу и его имя. @relpath - возвращает относительный путь к файлу. @isdir - возвращает значение "TRUE", если типом файла является папка, и "FALSE" для файлов. @fsize - возвращает размер файла в байтах. @fdate - возвращает дату последнего изменения файла. @ftime - возвращает время последнего изменения файла. Для включения специальных символов в строку команды следует использовать шестнадцатеричный код символа в формате 0xHH (например, 0x09 для кода символа табуляции). Перед внутренними командами CMD.exe необходимо ставить "cmd /c". /D дата - Выбор файлов, у которых дата последнего изменения больше или равна (+) либо меньше или равна (-) указанной дате при использовании формата "dd.MM.yyyy"; либо файлов, у которых дата последнего изменения больше или равна (+) текущей дате плюс "dd" дней либо меньше или равна (-) текущей дате минус "dd" дней. Допустимым числом дней "dd" является любое число в диапазоне 0 - 32768. "+" используется по умолчанию, если знак не указан. /? - Вывод справки по использованию. Примеры использования команды FORFILES/? - Вывод справки по использованию. FORFILES - отобразить список файлов текущего каталога. Команда с параметрами по умолчанию аналогична команде: forfiles /P . /M * /C "cmd /c echo @file" Допускается использование записей –p вместо /p - forfiles -P . -M * -C "cmd /c echo @file" forfiles /M *.exe /C "cmd /c echo @file" | more - отобразить список файлов текущего каталога с расширением .exe в постраничном режиме вывода на экран. forfiles /M *.exe /C "cmd /c echo @file" > list_exe.txt - то же, что и в предыдущем примере, но с выдачей результатов в текстовый файл list_exe.txt текущего каталога. forfiles /P C:\Folder /M *.txt /C "cmd /c echo %DATE% >> @file" - в папке C:\Folder для всех текстовых файлов дописать в конец строку с текущей датой. forfiles /P C:\Folder /M *.txt /C "cmd /c rename @fname.@ext @fname%DATE%.@ext" - добавить текущую дату к именам всех текстовых файлов в папке C:\Folder. forfiles /P C:\windows\system32 /M *.exe /D +01.09.2014 /C "cmd /c echo @file" - отобразить список файлов программ ( /M *.exe ) из системного каталога Windows (/P C:\windows\system32 ) изменившихся после 01.09.2014 года. forfiles /P C:\windows\system32 /M *.exe /D -01.09.2014 /C "cmd /c echo @file" - отобразить список файлов программ ( /M *.exe ) из системного каталога Windows (/P C:\windows\system32 ) изменившихся 01.09.2014 года или ранее. forfiles /P %TEMP% /M *.* /D 0 /C "cmd /c echo @file размер - @fsize" - отобразить имена и размеры всех файлов из каталога временных файлов, изменившихся сегодня. forfiles /P %TEMP% /M *.log /D -3 /C "cmd /c if @isdir==FALSE notepad.exe @file" - открыть в блокноте файлы с расширением .log из каталога временных файлов, изменившиеся за последние 3 дня. FORFILES /S /P %USERPROFILE%\Documents\ /M *.doc* /D +01.08.2014 /C "cmd /c echo @path изменен @fdate @ftime" - отобразить список документов в папке "Документы" и ее подкаталогах в профиле текущего пользователя, которые были изменены после 1 августа 2014 года. Отображается полные пути и имена файлов, дата и время их изменения. Пример результата выполнения команды в среде Windows 7:
"C:\Documents\classguids.docx" изменен 19.08.2014 16:09:04 FORFILES /S /P %TEMP% /M *.exe /C "cmd /c echo @path изменен @fdate" > tmp_exe_files.txt - вывести в текстовый файл tmp_exe_files.txt список всех исполняемых файлов из каталога временных файлов текущего пользователя и его подкаталогов. Выводится полный путь, имя и время изменения, например:
"C:\Temp\Firefox Setup 31.0.exe" изменен 22.07.2014 |
|
|