Команда forfiles - виконання команди для групи файлів.
Відео: КС | 3.9. Переміщення об`єктів [Move]
команда FORFILES є зручним засобом виконання заданих команд для групи файлів в пакетних завданнях.Формат командного рядка:
FORFILES [/ P lt; путьgt;] [/ M lt; маска_поіскаgt;] [/ S] [/ C lt; командаgt;] [/ D [+ | -] dd.MM.yyyy]
Параметри командного рядка:
/ P lt; шлях gt; - Шлях, з якого починається пошук. За замовчуванням використовується поточна робоча папка (.).
/ M lt; маска_поіска gt; - Пошук файлів за допомогою маски. Маска пошуку за замовчуванням "*".
/ S - Рекурсивне виконання програми forfiles у всіх підпапках, аналогічно "DIR / S".
/ C lt; команда gt; - Команда, яка виконується для кожного файлу. Рядки команд необхідно укладати в прямі лапки.
Команда за замовчуванням - "Cmd / c echo @file".
Наступні змінні можуть використовуватися в рядку команди:
@ File- повертає ім`я файлу.
@fname - повертає ім`я файлу без розширення.
@ext - повертає тільки розширення імені файлу.
@ Path- повертає повний шлях до файлу і його ім`я.
@relpath - повертає відносний шлях до файлу.
@isdir - повертає значення "TRUE", якщо тип файлів папка, і "FALSE" для файлів.
@fsize - повертає розмір файлу в байтах.
@fdate - повертає дату останньої зміни файлу.
@ftime - повертає час останньої зміни файлу.
Для включення спеціальних символів в рядок команди слід використовувати шістнадцятковий код символу в форматі 0xHH (Наприклад, 0x09 для коду символу табуляції).
Перед внутрішніми командами CMD.exe необхідно ставити "Cmd / c".
/ D lt; дата gt; - Вибір файлів, у яких дата останнього зміни більше або дорівнює (+) або менше або дорівнює (-) вказаної дати при використанні формату "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" gt; list_exe.txt - то ж, що і в попередньому прикладі, але з видачею результатів в текстовий файл list_exe.txt поточного каталогу.
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: Users USER1 Documents classguids.docx" змінений 19.08.2014 16:09:04
"C: Users USER1 Documents hardware.docx" змінений 19.08.2014 12:38:31
"C: Users USER1 Documents forfiles.doc" змінений 01.09.2014 20:22:07
"C: Users USER1 Documents Список файлов.docx" змінений 18.08.2014 23:56:50
. . .
FORFILES / S / P% TEMP% / M * .exe / C "cmd / c echo @path змінений @fdate" gt; tmp_exe_files.txt - вивести в текстовий файл tmp_exe_files.txt список всехісполняемих файлів з каталогу тимчасових файлів поточного користувача і його підкаталогів. Виводиться повний шлях, ім`я та час зміни, наприклад:
"C: Users USER1 AppData Local Temp Firefox Setup 31.0.exe" змінений 22.07.2014
"C: Users USER1 AppData Local Temp ICReinstall_Firefox Setup 31.0.exe" змінений 22.07.2014
"C: Users USER1 AppData Local Temp TeamViewer Version9 TeamViewer_.exe" змінений 02.07.2014
"C: Users USER1 AppData Local Temp Temp1_DR_Vista_WL167g.zip Vista Driver x64 Setup.exe" змінений 16.10.2008
"C: Users USER1 AppData Local Temp Temp1_Dr_WL_167g_Win7.zip Driver x64 AutoInstall.exe" змінений 23.11.2009
Відео: Команди bat файлів
- Команда rmdir (rd) - видалити каталог файлової системи windows.
- Title - зміна заголовка вікна командного рядка windows.
- Команда ftype - перегляд і зміна розширень файлів і зіставлених їм додатків
- Команда start - запуск програми в новому вікні
- Команда exit - завершити роботу командного процесора або поточного командного файлу.
- Команда for - організація циклічної обробки результатів виконання інших команд, списків, і рядків в…
- Команда echo - висновок тексту на екран консолі
- Команда where - пошук файлів за шаблоном імені.
- Команда assoc
- Команда recover - відновлення збережених даних на пошкодженому диску.
- Команда md (mkdir) - створити каталог
- Path - відобразити або змінити шляху пошуку виконуваних файлів.
- Команда endlocal - скасування локальних змін змінних середовища для поточного командного файлу.
- Команда movefile - перемістити або видалити зайнятий файл
- Goto - передача управління містить мітку рядку пакетного файлу.
- Команда more - посторінковий вивід на екран консолі.
- Команда setlocal - зміна змінних середовища для поточного командного файлу.
- Команда find - пошук рядка символів в файлі
- Break - включити або відключити обробку ctrl + c в dos.
- Команда move - перейменування або переміщення файлів і каталогів
- Команда print - висновок тексту на пристрій друку