1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

iTunes のmp3ファイルが何故かURIエンコードされていたからrename してみた

Last updated at Posted at 2016-02-24

旧マックから新マックへの移行で何故かmp3ファイルがURIエンコードで文字化けしていたので、ruby のスクリプトでリネームしてみた。

rename_file.rb
require 'URI'
path = "mp3ファイルが入っているディレクトリのパス"
Dir.chdir(path)
Dir.open(path).each do |f|
	begin
	if File.rename(f, "#{URI.decode(f)}").zero?
		puts "Change name #{URI.decode(f)}" 
	end
	rescue SystemCallError
		puts "Can't rename #{f} to #{URI.decode(f)}"
	end
end

pathにはお使いのmp3が入っている絶対パスを書くと動きます。
一応エラーでリネーム操作が止まらないようにしておきました。


(追記:2016/02/26)このままだとファイル名に/ か\ が入ってるとリネームされないので、/ と\ を: に置換するコードを追記する

rename_file2.rb
require 'kconv'
require 'uri'
path = "mp3ファイルが入っているディレクトリのパス"

Dir.chdir(path)
Dir.open(path).each do |f|

	renamed_name = "#{URI.decode(f).gsub(/\/|\\/,':')}"
	
begin
	if File.rename(f, "#{renamed_name}").zero?
		puts "Change name #{renamed_name} "
	end

	rescue SystemCallError
		puts "Can't rename #{f} to #{renamed_name}"
	end
end

##最後に
どなたか/ や\ のままrubyでリネームできる方法教えてください。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?