From: Arup Rakshit Date: 2013-01-30T19:28:42+09:00 Subject: (Errno::EINVAL) occurs during the File::rename() execution Hi I wrote the below code to rename the file names. The logic is during renaming file new name should be preceded with the Directory name into which the file resides. The code is: current_dir = Dir.pwd Dir.chdir('C:\Documents and Settings\rakshiar\My Documents\userdata\Downloaded Files') current_dir = Dir.pwd Dir.entries(current_dir)[2..-1].each do |dir| puts dir puts "-------" Dir.entries(dir)[2..-1].each do |d| old_file_path = File.realdirpath(d ,dir) puts old_file_path file_old_name=File.split(File.realdirpath(d ,dir))[1] file_loc_dir=File.split(File.realdirpath(d ,dir))[0] @dir_string=dir.inspect file_new_name=@dir_string.concat(file_old_name) file_new_name=file_new_name.tr_s('"','') new_file_path = File.realdirpath(file_new_name ,file_loc_dir) puts new_file_path File.rename(old_file_path, new_file_path) end puts "-------" end Output: ======= ------- H76191 ------- C:/Documents and Settings/rakshiar/My Documents/userdata/Downloaded Files/H76191 /Intergrity letter[1][1].pdf C:/Documents and Settings/rakshiar/My Documents/userdata/Downloaded Files/H76191 /H76191Intergrity letter[1][1].pdf C:/Documents and Settings/rakshiar/My Documents/userdata/Downloaded Files/H76191 /Intergrity letter[1][1].pdf.part C:/Documents and Settings/rakshiar/My Documents/userdata/Downloaded Files/H76191 /H76191Intergrity letter[1][1].pdf.part **************************************************** Error occurs when the execution came into that part **************************************************** ------- H76954 ------- C:/Documents and Settings/rakshiar/My Documents/userdata/Downloaded Files/H76954 /Specjalistyczny Gabinet Kardiologiczny Dr hab. med. Ewa Straburzy?ska-Migaj.pdf C:/Documents and Settings/rakshiar/My Documents/userdata/Downloaded Files/H76954 /H76954Specjalistyczny Gabinet Kardiologiczny Dr hab. med. Ewa Straburzy?ska-Mig aj.pdf C:/Documents and Settings/rakshiar/My Documents/userdata/Ruby/Scripts/FileNamere naming.rb:20:in `rename': Invalid argument - (C:/Documents and Settings/rakshiar /My Documents/userdata/Downloaded Files/H76954/Specjalistyczny Gabinet Kardiolog iczny Dr hab. med. Ewa Straburzy?ska-Migaj.pdf, C:/Documents and Settings/rakshi ar/My Documents/userdata/Downloaded Files/H76954/H76954Specjalistyczny Gabinet K ardiologiczny Dr hab. med. Ewa Straburzy?ska-Migaj.pdf) (Errno::EINVAL) from C:/Documents and Settings/rakshiar/My Documents/userdata/Ruby/Scrip ts/FileNamerenaming.rb:20:in `block (2 levels) in
' from C:/Documents and Settings/rakshiar/My Documents/userdata/Ruby/Scrip ts/FileNamerenaming.rb:9:in `each' from C:/Documents and Settings/rakshiar/My Documents/userdata/Ruby/Scrip ts/FileNamerenaming.rb:9:in `block in
' from C:/Documents and Settings/rakshiar/My Documents/userdata/Ruby/Scrip ts/FileNamerenaming.rb:5:in `each' from C:/Documents and Settings/rakshiar/My Documents/userdata/Ruby/Scrip ts/FileNamerenaming.rb:5:in `
' C:\Documents and Settings\rakshiar\My Documents\userdata\Ruby\Scripts> -- Posted via http://www.ruby-forum.com/.