Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I move a file with Ruby?

Tags:

file

ruby

People also ask

How do you move a file in Ruby?

You don't need fileutils or a systemcall, just rename the file to the new location. File rename won't work across partitions, and throws the error "Invalid cross-device link". FileUtils is a better choice in those cases, but for a simple move in the same partition, rename works.


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.


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


FileUtils.move

require 'fileutils'
FileUtils.move 'stuff.rb', '/notexist/lib/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


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