カーオーディオでUSBを使って音楽を聴く場合、
曲順がぐちゃぐちゃになってることが結構ある・・・
プレイリストをitunesで*.m3uでエクスポートし、
メルセデスのCOMANDシステムに入力したが、
プレイリストの曲順をうまく認識せず・・・
ということで、batでmp3ファイルに直接ナンバリングすることに
私は3曲毎にジングルを入れる変わった聞き方をしてますので、
ナンバリングと同時に3曲毎にジングルも入れるbatを設計。
999曲までは下記で対応できる。
フォルダ、データ構成は下図の通り(jingleフォルダにジングル10曲を用意)
numbering.bat
@echo off
setlocal enabledelayedexpansion
rem タイトル用曲順
set num=0
rem 3曲毎にジングル入れ
set remainder=3
rem ジングル選択カウンタ
set jno=0
rem CMループ用カウンタ
set CMcount=0
rem 全体ループカウンタ
set count=0
rem タイトル
set title=0
erase test.log
for %%f in (*.mp3) do (
set /a num=CMcount+count
if !remainder! equ 0 (
rem CMカウンタ+1
set /a CMcount=CMcount+1
set /a jno=jno+1
rem CMコピー
set /a title=num
rem 桁数調整
if 99 geq !title! (
if 9 geq !title! (
set title2=00!title!
) else (
set title2=0!title!
)
) else (
set title2=!title!
)
rem ---------------------------------------
echo CMtitle=!title2! --!count!-->>test.log
copy jingle\jingle_!jno!.mp3 .
ren jingle_!jno!.mp3 !title2!_jingle_!jno!.mp3
rem 曲名ナンバリング
set /a title=num+1
rem 桁数調整
if 99 geq !title! (
if 9 geq !title! (
set title2=00!title!
) else (
set title2=0!title!
)
) else (
set title2=!title!
)
rem ---------------------------------------
echo 曲title=!title2! !count!>>test.log
ren "%%f" !title2!_"%%~nf".mp3
) else (
rem 曲名ナンバリング
set /a title=count+CMcount
rem 桁数調整
if 99 geq !title! (
if 9 geq !title! (
set title2=00!title!
) else (
set title2=0!title!
)
) else (
set title2=!title!
)
rem ---------------------------------------
echo 曲title=!title2! !count!>>test.log
ren "%%f" !title2!_"%%~nf".mp3
)
set /a count=count+1
set /a num=num+1
set /a remainder=count%%3
rem ジングル10曲をループ
if !jno! equ 10 (
set /a jno=0
) else (
set /a jno=jno
)
)
endlocal
pause
上記を実行し、下図のように曲の頭にナンバリングしてあげることでCOMANDシステムでも認識可。かつ、ジングルも3曲毎にローテで入っている