How do I move a file with Ruby?
RubyFileRuby Problem Overview
I want to move a file with Ruby. How do I do that?
Ruby Solutions
Solution 1 - Ruby
You can use FileUtils to do this.
#!/usr/bin/env ruby
require 'fileutils'
FileUtils.mv('/tmp/your_file', '/opt/new/location/your_file')
Remember; if you are moving across partitions, "mv" will copy the file to new destination and unlink the source path.
Solution 2 - Ruby
An old question, i'm surprised no one answered this simple solution. You don't need fileutils or a systemcall, just rename the file to the new location.
File.rename source_path, target_path
Happy coding
Solution 3 - Ruby
require 'fileutils'
FileUtils.move 'stuff.rb', '/notexist/lib/ruby'
Solution 4 - Ruby
Use the module 'fileutils' and use FileUtils.mv:
http://www.ruby-doc.org/stdlib-2.0/libdoc/fileutils/rdoc/FileUtils.html#method-c-mv
Solution 5 - Ruby
here is a template .
src_dir = "/full_path/to_some/ex_file.txt"
dst_dir = "/full_path/target_dir"
#Use the method below to do the moving
move_src_to_target_dir(src_dir, dst_dir)
def archive_src_to_dst_dir(src_dir, dst_dir)
if File.exist ? (src_dir)
puts "about to move this file: #{src_dir}"
FileUtils.mv(src_dir, dst_dir)
else
puts "can not find source file to move"
end
end
Solution 6 - Ruby
you can move your file like this
Rails.root.join('foo','bar')