2012-08-14 4 views
0

StackOverflow 및 인터넷의 다른 부분을 모두 검색하여 지금까지 문제를 해결하는 데 도움이되는 정보를 찾지 못했습니다.파일 이름의 대량 스캔 및 이름 바꾸기

내 문제는 iTunes에서 "아티스트 이름 - 노래 이름"(예 : "Modest Mouse - Dramamine")과 같이 나열된 약 220 곡의 노래가 있으며 문제를 작성할 수있는 방법이 있는지 궁금합니다. 하이픈 ("Dramamine")이 노래 제목이되고 하이픈 ("Modest Mouse")이되기 전의 단어가 예술가가 된 후에 단어가 iTunes에 올바르게 나열되도록하는 Ruby 스크립트.

또한 같은 목표를 달성 할 수있는 프로그램이 있다면 다른 사람이 링크를 공유 할 수 있다면 좋겠지 만 누군가 나를 스캔하여 파일 이름을 변경하는 방법을 배울 수있는 곳으로 안내 할 수 있다면 좋을 것입니다. Ruby에서 그 노래 변경 사항을 iTunes에서 읽고 표시 할 수있는 노래에 넣으면 크게 도움이 될 것입니다. 감사!

+0

재귀 디렉토리 검색 및 MP3 라이브러리 (예 : ruby-mp3info, taglib-ruby 등)의 많은 예가 있습니다. 구체적으로 어떤 문제가 있습니까? –

답변

0

RegexFile 루비 라이브러리와 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 명령이 실행됩니다.

행운을 빕니다! 시행 착오로 배우는 것보다 뛰어난 것은 없습니다!