Comando em lote para Mux Múltiplos arquivos de vídeo e legenda em sequência para nomes de arquivo diferentes

1

No Windows 10, o que é um comando simples para migrar vários arquivos de vídeo e legenda em sequência para diferentes nomes de arquivos sequenciais usando o ffmpeg? Eu estou fazendo manualmente

    ffmpeg -i "moviename part 1.mp4" -i "moviename part 1.srt" -c copy "temp01.mkv"
    ffmpeg -i "moviename part 2.mp4" -i "moviename part 2.srt" -c copy "temp02.mkv"
    ffmpeg -i "moviename part 3.mp4" -i "moviename part 3.srt" -c copy "temp03.mkv"
    ffmpeg -i "moviename part 4.mp4" -i "moviename part 4.srt" -c copy "temp04.mkv"
    ffmpeg -i "moviename part 5.mp4" -i "moviename part 5.srt" -c copy "temp05.mkv"
    ffmpeg -i "moviename part 6.mp4" -i "moviename part 6.srt" -c copy "temp06.mkv"
    ffmpeg -i "moviename part 7.mp4" -i "moviename part 7.srt" -c copy "temp07.mkv"
    ffmpeg -i "moviename part 8.mp4" -i "moviename part 8.srt" -c copy "temp08.mkv"
    ffmpeg -i "moviename part 9.mp4" -i "moviename part 9.srt" -c copy "temp09.mkv"
    ffmpeg -i "moviename part 10.mp4" -i "moviename part 10.srt" -c copy "temp10.mkv"
    ffmpeg -i "moviename part 11.mp4" -i "moviename part 11.srt" -c copy "temp11.mkv"
    .
    .
    .
    ffmpeg -i "moviename part 99.mp4" -i "moviename part 99.srt" -c copy "temp99.mkv"

por enquanto, mas é cansativo. Eu encontrei este comando que muxes os arquivos

for %%a in ("*.mp4") do ffmpeg -i "%%~na.mp4" -i "%%~na.srt" -c copy "%%~na.mkv"

mas gera os mesmos nomes de arquivo moviename part 1.mkv , moviename parte 2.mkv , moviename parte 3.mkv e assim por diante em vez de temp01.mkv , temp02.mkv , temp03.mkv , etc., como eu queria.

    
por joetex72 12.02.2017 / 07:51

1 resposta

1

O que é um comando simples para multiplicar vários arquivos de vídeo e legenda em sequência?

Use for /l :

@echo off
setlocal enabledelayedexpansion
for /l %%a in (1,1,99) do (
  set _count=00%%a
  ffmpeg -i "moviename part %%a.mp4" -i "moviename part %%a.srt" -c copy "temp!_count:~-2!.mkv"
)
endlocal

Leitura Adicional

  • Um índice A-Z da linha de comando do Windows CMD - Uma excelente referência para todas as coisas relacionadas à linha do Windows cmd.
  • enabledelayedexpansion - Expansão com atraso fará com que as variáveis sejam expandidas em tempo de execução e não no tempo de análise.
  • para / l - Realize condicionalmente um comando para um intervalo de números.
  • definir - Exibir, definir ou remover variáveis de ambiente do CMD. As alterações feitas com o SET permanecerão apenas pela duração da sessão atual do CMD.
  • variáveis - Extrai parte de uma variável (substring).
por 12.02.2017 / 13:09