Сегодня я хочу поделиться одной крутой командой, которую открыл для себя в Windows. Вот реально, уже не первый десяток лет занимаюсь, а узнал только что. Команда, позволяет сделать выборку определённых файлов и подать их в другую программу. Встречайте
FORFILES в Windows
Штатная программа, если я не ошибаюсь, комплектуется ещё со времён Vista. Работать с ней довольно просто:
FORFILES [/M *.txt] [/P путь начала поиска] [/S рекурсивный заход в каталоги] [/D дата последнего изменения +больше -меньше или равна] /C команда
При этом под ключ /C определяются следующие переменные:
@file – возвращает имя файла.
@fname – возвращает имя файла без расширения.
@ext – возвращает только расширение имени файла.
@path – возвращает полный путь к файлу и его имя.
@relpath – возвращает относительный путь к файлу.
@isdir – возвращает значение “TRUE”, если типом файла является папка, и “FALSE” для файлов.
@fsize – возвращает размер файла в байтах.
@fdate – возвращает дату последнего изменения файла.
@ftime – возвращает время последнего изменения файла.
Конвертирую видео в аудио
А задача была такая – конвертировать кучу мультфильмов в аудиоформат для прослушивания дочке. Раньше пользовался программой видеоконвертором, но что-то качество работы стало огорчать – шипение на выходе. Решил использовать бесплатный ffmpeg. Скачал, положил exe-шник в каталог с мультфильмами, запустил командную строку в этом каталоге и одной командой конвертировал всё в mp3-формат.
Получилась такая команда:
forfiles /M *.avi /C "cmd /c ffmpeg.exe -i @file -vn -ar 44100 -ab 96K -f mp3 @fname.mp3"
Всё! Спустя 20 минут в каталоге уже лежала куча mp3-шек с тем же самым именем, что у входных avi-шек.
Конечно, можно было написать цикл FOR – результат был бы тот же, но хотелось решить именно вот таким, новым инструментом.
При желании можно придумать ещё массу применений этой команде, например вести ротацию логов, выбирать файлы по различным критериям, выполнять резервное копирование и много чего ещё.
Не знали про эту программу? Ставьте лайк!
Comments: