2017-08-17 74 views
0

我有MP3和FLAC類型的文件。比方說,我的基本目錄結構批處理遞歸移動擴展名到該擴展名文件夾的文件

/music/artist/album 

我已經(已經)用遞歸批量操作進行

/music/artist/album/flac/ 
/music/artist/album/mp3/ 

我要遍歷所有的/music/並執行以下操作:

  1. 如果/music/artist/album/具有MP3音樂,將它們移到/music/artist/album/mp3/
  2. 如果/music/artist/album/有flacs,請將它們移動到/music/artist/album/flac/

某些文件夾有mp3和flac。尋找任何腳本文件或命令行的解決方案

+0

這是什麼操作系統?標籤bash和批處理文件不同 –

+0

對不起,對於標籤上的錯誤。文件位於外部硬盤驅動器上,我打算在Ubuntu –

+0

中執行操作。我收到了我需要的解決方案。再次感謝大家的幫助和建議。我已經學到了很多東西!最好的祝福! –

回答

3
find /music/ -name '*.mp3' -execdir mv {} mp3/ \; 
find /music/ -name '*.flac' -execdir mv {} flac/ \; 

-execdir在當前文件的目錄中運行指定的命令。這使您可以使用相對於當前藝術家/專輯的mp3/flac/目錄。

0

在這裏,你必須做這件事:

find /music -type f -name "*.mp3" | xargs mv $1 /music/artist/album/mp3/ 
find /music -type f -name "*.flac" | xargs mv $1 /music/artist/album/flac/ 

希望它爲你工作。

問候!

+0

感謝您的回覆。不幸的是,也許我的原始評論不夠清楚。 「藝術家」和「專輯」實際上是數以千計的子文件夾 - 比如滾石樂隊,貝多芬等等,所以我不認爲按照你提供的方式來做這件事是行不通的,除非我以變量的形式通過它們。 –

0

將當前目錄更改爲音樂文件的位置,然後將mp3移至mp3文件夾並將其閃爍至flac文件夾。

cd /music/artist/album/ 
mv *.mp3 mp3/ 
mv *.flac flac/ 
+0

感謝您的評論,但我知道如何做到這一點,它需要超過1000次迭代才能手動完成。這就是爲什麼我要求遞歸批處理命令在/ music / –