2017-07-27 42 views
0

我在Windows 8.1中使用git bash,並且我安裝了lame。我的git位於我的Laravel目錄中。對於1次轉換我使用:如何使用bash將lame子目錄中的所有目錄mp3文件轉換爲lame?

/c/Lame/lame --mp3input -V2 -b 64 public/songs/album/album_1000/song_Emmene-moi_1379645693.mp3 public/songs/album/album_1000/64kb/song_Emmene-moi_1379645693.mp3 

這很好。但是,當我想所有轉換一次我嘗試:

for file in public/songs/album/album_1000/*.mp3; 
do /c/Lame/lame --mp3input -b 64 "$file" 64kb/"${file%.*}".mp3; done 

我得到錯誤:

不能初始化OUTFILE「64KB /公/歌曲/專輯/ album_1000/song_Bagay 9(混音)_1379645802。 mp3' 無法初始化outfile'64kb/public/songs/album/album_1000/song_Bootleg_1379645790.mp3' 無法初始化outfile'64kb/public/songs/album/album_1000/song_Emmene-moi_1379645693.mp3' ...

我需要將它們添加到名爲64kb的子目錄中,如public/songs/album/album_1000/64kb/song_Emmene-moi_1379645693。 mp3

這是後來在PHP代碼中使用,我將有專輯,album_1000和mp3歌曲名稱的變量,所以任何字串替換album_1000 /到album_1000/64kb /將會很好。

回答

0

一些測試中,我把它與內部字符串替換模式

{$Var//string_to_replace/new_string} : 

$ for file in public/songs/album/album_1000/*.mp3; 
do /c/Lame/lame --mp3input -b 64 "$file" "${file//album_1000/album_1000/64kb}"; done 

爲我工作後做事。

相關問題