Adicione uma extensão “Clique com o botão direito do mouse em um arquivo .WAV, converter em MP3” ao Explorer

2

Eu criei uma chave no registro do Windows:

HKEY_CLASSES_ROOT\*\Shell\Convert to MP3\command

com:

"D:\tools\ffmpeg.exe" -i "%1" -acodec libmp3lame -vn -ar 44100 -ac 2 -ab 256k "%1.mp3"

Funciona, exceto que o nome do arquivo não é exatamente o que eu quero:

Entrada: test.wav , Saída: test.wav.mp3

Considerando que gostaria que o nome do arquivo de saída fosse test.mp3 .

Eu também tentei com:

"D:\tools\ffmpeg.exe" ... "%~n1.mp3"

como nesta resposta , mas não funciona: a saída é %~n1.mp3 então!

Como remover a extensão original como esta e substituir por .mp3?

PS: Estou procurando uma solução sem envolver um arquivo .bat, mas apenas o registro. Se não for possível, não há problema em usar um arquivo bat.

    
por Basj 07.04.2018 / 21:13

3 respostas

1

Assumindo que o ffmpeg.exe está incluído pela variável de caminho, use

cmd /q /c for %%I in ("%1") do ffmpeg -i %%I -acodec libmp3lame -vn -ar 44100 -ac 2 -ab 256k "%%~nI.mp3"
como one-liner sem arquivo bat.     
por 14.05.2018 / 00:37
1

Aqui está uma solução com um arquivo .BAT (não sei se é possível sem um arquivo BAT). A chave é usar %~n1.mp3 , conforme explicado aqui .

Arquivo ____LameMP3me.bat :

"D:\Documents\software\____PORTABLE\____useful-tools\ffmpeg.exe" -i %1 -acodec libmp3lame -vn -ar 44100 -ac 2 -ab 256k "%~n1.mp3"

Em HKEY_CLASSES_ROOT\*\Shell\Lame MP3 me!\command :

"D:\Documents\software\____PORTABLE\____useful-tools\____LameMP3me.bat" "%1"
    
por 08.05.2018 / 13:12
1

Em vez de hackear o registro, basta colocar o arquivo .bat (ou um arquivo .lnk apontando para ele) em %APPDATA%\Microsoft\Windows\SendTo .

Aqui está uma solução de cygwin + bash para o problema de extensão de arquivo, requer exatamente uma linha adicional de código graças a link

Você poderia iniciá-lo por c:\cygwin\bin\bash.exe <scriptname> <filename>

#!/bin/bash

FILE_NAME="${1%.*}"

"/cygdrive/d/tools/ffmpeg.exe" -i "\"$1\"" -acodec libmp3lame -vn -ar 44100 -ac 2 -ab 256k "\"${FILE_NAME}.mp3\""

#keep the console window open, uncomment if not necessary
read
    
por 09.05.2018 / 10:09