Команда 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 файлів



Поділися в соціальних мережах:

Схожі
Path - відобразити або змінити шляху пошуку виконуваних файлів.Path - відобразити або змінити шляху пошуку виконуваних файлів.
Команда more - посторінковий вивід на екран консолі.Команда more - посторінковий вивід на екран консолі.
Команда move - перейменування або переміщення файлів і каталогівКоманда move - перейменування або переміщення файлів і каталогів
Команда movefile - перемістити або видалити зайнятий файлКоманда movefile - перемістити або видалити зайнятий файл
Команда assocКоманда assoc
Команда exit - завершити роботу командного процесора або поточного командного файлу.Команда exit - завершити роботу командного процесора або поточного командного файлу.
Команда ftype - перегляд і зміна розширень файлів і зіставлених їм додатківКоманда ftype - перегляд і зміна розширень файлів і зіставлених їм додатків
Команда find - пошук рядка символів в файліКоманда find - пошук рядка символів в файлі
Команда verify - включити / вимкнути режим перевірки читанням записуються так диск файлів.Команда verify - включити / вимкнути режим перевірки читанням записуються так диск файлів.
Команда echo - висновок тексту на екран консоліКоманда echo - висновок тексту на екран консолі
» » Команда forfiles - виконання команди для групи файлів.