Pergunta

Eu quero mover um arquivo com Ruby. Como posso fazer isso?

Foi útil?

Solução

Você pode usar FileUtils para fazer isso.

#!/usr/bin/env ruby

require 'fileutils'

FileUtils.mv('/tmp/your_file', '/opt/new/location/your_file')

Lembre-se; Se você está se movendo em partições, "mv" irá copiar o arquivo para um novo destino e desvincular o caminho de origem.

Outras dicas

Uma questão de idade, estou surpreso ninguém respondeu esta solução simples. Você não precisa fileutils ou uma chamada de sistema, apenas renomeie o arquivo para o novo local.

File.rename source_path, target_path

Happy codificação

FileUtils. movimento

require "FileUtils"
FileUtils.move 'stuff.rb', '/notexist/lib/ruby'

aqui é um modelo.

 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

Você pode mover o arquivo como este

Rails.root.join ( 'foo', 'bar')

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top