0

StackOverflow やインターネットの他の部分を検索しましたが、これまでのところ、問題の解決に役立つものは何も見つかりませんでした。

私の問題は、iTunes に "アーティスト名 - 曲名" (例: "モデスト マウス - ドラマミン") のようにリストされている約 220 曲があることです。ハイフンの後の単語 ("Dramamine") が曲のタイトルになり、ハイフンの前の単語 ("Modest Mouse") がアーティストになるように、iTunes で適切にリストされるように変更します。

また、同じ目標を達成できるプログラムがあれば、誰かがリンクを共有できれば幸いですが、Ruby で大量スキャンしてファイル名を変更する方法を学ぶことができる場所を誰かが教えてくれれば、これらの曲は、iTunes が読み取って表示できる曲に変わります。これも大歓迎です。ありがとう!

4

1 に答える 1

0

正規表現ファイルRubyライブラリ、およびDirを確認してください。彼らはあなたに仕事のためのツールを提供します。

例えば、

Dir["path/to/your/music/*.m4a"].each do |filename|
  m = File.basename(filename).match(/(.+)-(.+)/)
  artist = m[1].strip # remove leading and trailing blanks
  song = m[2].strip
  new_filename = song + ' - ' + artist
  File.rename(filename, "path/to/your/music/#{new_filename}.m4a"
|end|

他にもトリックがあります。たとえば、バックティック( `、'ではなく)を使用して、ブロックの最後の行を次のように置き換えることでファイルの名前を変更できます。

`mv #{filename} path/to/your/music/#{new_filename}.m4a`

これにより、Unixシェルでmvコマンドが実行されます。

頑張っていじくりまわします!試行錯誤による学習に勝るものはありません。

于 2012-08-14T03:18:08.097 に答える