Вы говорите, что используете командную оболочку Windows, но первая показанная вами командная строка (та, которая начинается «для файла в») не похожа на Windows, скорее на какую-то команду оболочки Linux. Второй не будет работать, потому что ffmpeg не примет подстановочный знак в качестве спецификации входного файла.
Эта однострочная команда Windows делает то, что вы, похоже, хотите, чтобы ffmpeg (используя указанные выше параметры) принимал в качестве входных данных, в свою очередь, каждый файл flac в текущей папке и выводил в той же папке mp3-файл с тем же имя перед расширением:
По подсказке:
for %A in (*.flac) do ffmpeg -i "%~nA.flac" -c:v copy -b:a 320k "%~nA.mp3"
Если mp3-файл уже существует, ffmpeg спросит, хотите ли вы перезаписать его.
Примечание: приведенная выше команда создается для командной строки. Это не будет работать в пакетном скрипте. Для этого вам нужно удвоить все знаки процента (%), как это
В пакетном (cmd) скрипте:
for %%A in (*.flac) do ffmpeg -i "%%~nA.flac" -c:v copy -b:a 320k "%%~nA.mp3"