0

特定のフォルダー内のすべての mp3 ファイルを変換する必要があるこのバッチ ファイルを実行しましたが、理由がわからず、機能しません...

コードは次のとおりです。

@echo off
title Converting...

set fold=C:\Users\Username\Music\Music to convert\
set ext=*.mp3
set dest=C:\Users\Username\Music\Converted Music\

for %%f in (%fold%%ext%) do ffmpeg -i %%f -b 192k %dest%%%f

pause>nul
exit

ファイル名とフォルダー名にスペースが含まれているためだと思いますが、実際にはわかりません...誰かが正しいコードを確認して見つけることができますか?

ありがとう...

4

1 に答える 1

1

簡単。

for %%f in ("%fold%%ext%") do ffmpeg -i "%%f" -b 192k "%dest%%%~nxf"

(修正版)

ここに私のテストバッチがあります

@echo OFF
SETLOCAL
REM title Converting...

set fold=U:\Users\Username\Music\Music to convert\
set ext=*.mp3
set dest=U:\Users\Username\Music\Converted Music\

:: This makes the directories, then creates two dummy files
:: only used for testing.

MD "%fold%"
MD "%dest%"
dir>"%fold%file1.mp3"
dir>"%fold%file two.mp3"

for %%f in ("%fold%%ext%") do ECHO ffmpeg -i "%%f" -b 192k "%dest%%%~nxf"

ECHO最後の行の は、実行される内容を示しています。確認後、キーワードを削除しECHOてコマンドをアクティブにしFFMPEGます。

%%~nxfファイルの名前+拡張子です%%f

結果:

ffmpeg -i "U:\Users\Username\Music\Music to convert\file1.mp3" -b 192k "U:\Users\Username\Music\Converted Music\file1.mp3"
ffmpeg -i "U:\Users\Username\Music\Music to convert\file two.mp3" -b 192k "U:\Users\Username\Music\Converted Music\file two.mp3"

USERNAMEうーん...おそらく、設定時に置き換える必要がFOLDありDEST%username%


複数のファイルタイプの処理を追加するように改訂されました

@echo OFF
SETLOCAL
REM title Converting...

set fold=U:\Users\Username\Music\Music to convert\
set ext=*.mp3 *.wma *.m4a
set dest=U:\Users\Username\Music\Converted Music\

:: This makes the directories, then creates dummy files

MD "%fold%"
MD "%fold%subdir"
MD "%dest%"
dir>"%fold%file1.mp3"
dir>"%fold%file two.mp3"
dir>"%fold%file3.wma"
dir>"%fold%subdir\file four.wma"

 for /r "%fold%" %%f in (%ext%) do ECHO ffmpeg -i "%%~ff" -b 192k "%dest%%%~nxf"

コマンドを変更していないFFMPEGことに注意してください-必要なパラメーターを認識しています。コマンドは通常どおりエコーされました。

一定の出力拡張子 (.MP3 など) を使用する場合は、次のように変更"%dest%%%~nxf"します。"%dest%%%~nf.MP3"

改訂されたバッチ出力:

ffmpeg -i "U:\Users\Username\Music\Music to convert\file1.mp3" -b 192k "U:\Users\Username\Music\Converted Music\file1.mp3"
ffmpeg -i "U:\Users\Username\Music\Music to convert\file two.mp3" -b 192k "U:\Users\Username\Music\Converted Music\file two.mp3"
ffmpeg -i "U:\Users\Username\Music\Music to convert\file3.wma" -b 192k "U:\Users\Username\Music\Converted Music\file3.wma"
ffmpeg -i "U:\Users\Username\Music\Music to convert\subdir\file four.wma" -b 192k "U:\Users\Username\Music\Converted Music\file four.wma"
于 2013-04-23T15:17:43.903 に答える