2

指定されたフォルダ内のすべてのMP3ファイルのビットレートを変更する小さなWindowsバッチファイル(convert.cmd)を正しく動作させる必要があります。2つのパラメータをバッチファイルに渡す必要があります。

  • MP3ファイルを含むフォルダへのパス
  • ビットレートに変更したい。

Lame.exeエンコーダーを使用しています。lame.exeは1つの場所にあり、convert.cmdはlame.exeと同じフォルダーに置くことができますが、MP3ファイルを含むフォルダーはどこにでも置くことができます。元のバージョン(パラメーターなし)は次のとおりです(MP3ファイルのあるフォルダーにconvert.cmdを配置すると正常に動作します):

@ECHO OFF
FOR %%f IN (*.mp3) DO (
    D:\Apps\Lame\lame.exe -h -b 128 "%%f" "%%f.temp"
    DEL "%%f"
    REN "%%f.temp" "%%f"
)
PAUSE

128の代わりに「%2」を渡す必要があります。これは2番目のコマンドラインパラメーターであるビットレートになります。MP3ファイルのフォルダーパスの場合は「%1」を渡す必要があります。だから、私はこれを手に入れましたが、それは機能していません。

@ECHO OFF
FOR %%f IN (%1\*.mp3) DO (
    D:\Apps\Lame\lame.exe -h -b %2 "%%f" "%%f.temp"
    DEL "%%f"
    REN "%%f.temp" "%%f"
)
PAUSE

説明どおりに機能させる方法は?

バッチファイルが既存のファイルを変換し、それらの新しい変換されたコピーをどこかに作成しないようにするにはどうすればよいですか?たくさんありがとう;)乾杯。

アップデート

convert.cmdの場所は次のとおりです。

d:\ Apps \ Lame \ convert.cmd、lame.exeと同じフォルダー

MP3ファイルの場所は次のとおりです。

d:\ temp \ xxx \

  • File1.mp3
  • File2.mp3

次のようにコマンドラインからconvert.cmdを実行すると、次のようになります。

convert.cmd d:\ temp \ xxx \ 64

私がd:\ temp \ xxx \で取得するのはこれです:

  • File1.mp3.temp
  • File2.mp3.temp

変換されたファイルはどこに行きましたか?

ありがとう。

4

1 に答える 1

3

ありがとう、私はすでにこのスクリプトの書き方を理解しています。

このタイプの変換が必要な場合は、次のようにします。 1 パラメータ - mp3 ファイルを含むフォルダへのフル パス 2 パラメータ - 変換先のビットレート

(覚えておいてください、lame.exe は mp3 タグを保持しません) ps とにかく mp3 タグが必要な人はいますか? :)

@ECHO OFF
ECHO.
ECHO BEGIN CONVERSION
ECHO.
CD %1
DIR *.mp3
ECHO -------------------------------------------------------------------------------
ECHO THESE MP3 FILES WILL BE CONVERTED TO BITRATE %2 KBPS
ECHO -------------------------------------------------------------------------------
PAUSE
FOR %%f IN (*.mp3) DO (
    ECHO -------------------------------------------------------------------------------
    ECHO CONVERTING: %%f
    ECHO -------------------------------------------------------------------------------
    D:\Apps\Lame\lame.exe -h -b %2 "%%f" "%%~nf.wav"
    DEL "%%f"
    REN "%%~nf.wav" "%%f"
)
ECHO.
ECHO END CONVERSION
ECHO.
PAUSE
于 2013-01-23T15:33:06.730 に答える