2015-06-11 13 views
0

Я создал этот командный файл, чтобы поместить все файлы aac в один каталог в контейнер m4a. Команда работает до сих пор, но каждый новый файл имеет формат входного файла в имени выходных файлов.ffmpeg/пакетный файл: формат ввода остается в имени выходного файла

Например: тест (.aac) находится в контейнере m4a, но ИМЕНИ test.aac (.m4a)

Вот файл .bat:

for /r %%X in (*.*) do (
    ffmpeg -i "%%X" "%%X.m4a" 
) 
pause 

Я буду благодарен для любого простого решения, с наилучшими пожеланиями и спасибо всем

ответ

0

вам нужно извлечь только имя без расширения

for /r %%X in (*.aac) do (
    ffmpeg -i "%%X" "%%~dpnX.m4a" 
) 

см HELP FOR для объяснения синтаксиса %%~dpn, короче

%% ~ X - расширяет %% X удаления любой окружающую кавычки (")
%% ~ Fx - Расширяет %% X, чтобы полностью квалифицированный путь к файлу
%% ~ Dx - расширяет %% X на букву диска только
%% ~ рХ - расширяющейся %% X на пути только
%% ~ пХ - расширяет %% X в имени файла только

Я также немного изменил FOR, чтобы перебирать только файлы .aac.

+0

wow спасибо !!! также: как вы добавляете выходной каталог для контейнеров m4a? – Filipp

+0

отредактировал мой ответ, чтобы включить '~ dpn'. Я просто понял параметр'/R' в команде for. –

+0

где бы я поместил путь? Я хочу, чтобы все преобразованные файлы в новый каталог. (Я совершенно новичок в этом - мне потребовалась одна ночь, чтобы добраться до этой точки XD) – Filipp