Use %%~ni
em vez de %%nxi
e coloque o nome do arquivo de saída entre aspas para manipular corretamente nomes de arquivos com espaços.
Eu quero dividir o vídeo em três partes no modo em lote. Então, eu tenho esse código:
@echo off
for %%i in ("*.mp4") do ffmpeg -i "%%i" -vcodec copy -acodec copy -ss 00:00:00 -t 00:00:05 D:\Ebook\%%~nxi_1.mp4
for %%i in ("*.mp4") do ffmpeg -i "%%i" -vcodec copy -acodec copy -ss 00:00:05 -t 00:00:10 D:\Ebook\%%~nxi_2.mp4
for %%i in ("*.mp4") do ffmpeg -i "%%i" -vcodec copy -acodec copy -ss 00:00:10 D:\Ebook\%%~nxi_3.mp4
pause
Funciona, mas tem algum problema: 1. Salve o arquivo: .mp4_1.mp4. Como remover ".mp4" 2. Quando o nome do arquivo do vídeo contém caracteres de espaço. Ele mostra o erro: "Argumento inválido". Como consertar isso?
Muito obrigado!