web-dev-qa-db-fra.com

Comment déplacer un fichier avec Ruby?

Je veux déplacer un fichier avec Ruby. Comment je fais ça?

166
Željko Filipin

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.

252
Berk D. Demir

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

87
peter

FileUtils.move

require "FileUtils"
FileUtils.move 'stuff.rb', '/notexist/lib/Ruby'
16
Željko Filipin

Utilisez le module 'fileutils' et utilisez FileUtils.mv:

http://www.Ruby-doc.org/stdlib-2.0/libdoc/fileutils/rdoc/FileUtils.html#method-c-mv

11
Nicolas Martyanoff

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
1
zee