Je veux déplacer un fichier avec Ruby. Comment je fais ça?
Vous pouvez utiliser FileUtils pour cela.
#!/usr/bin/env Ruby
require 'fileutils'
FileUtils.mv('/tmp/your_file', '/opt/new/location/your_file')
Rappelles toi; Si vous vous déplacez sur plusieurs partitions, "mv" copiera le fichier dans une nouvelle destination et dissociera le chemin source.
Une vieille question, je suis surpris que personne n'ait répondu à cette solution simple. Vous n'avez pas besoin de fileutils ou d'un appel système, il vous suffit de renommer le fichier au nouvel emplacement.
File.rename source_path, target_path
Code heureux
require "FileUtils"
FileUtils.move 'stuff.rb', '/notexist/lib/Ruby'
Utilisez le module 'fileutils' et utilisez FileUtils.mv:
http://www.Ruby-doc.org/stdlib-2.0/libdoc/fileutils/rdoc/FileUtils.html#method-c-mv
voici un modèle.
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