Chcę przenieść plik za pomocą Rubiego. W jaki sposób mogę to zrobić?
Chcę przenieść plik za pomocą Rubiego. W jaki sposób mogę to zrobić?
Odpowiedzi:
Możesz to zrobić za pomocą FileUtils.
#!/usr/bin/env ruby
require 'fileutils'
FileUtils.mv('/tmp/your_file', '/opt/new/location/your_file')
Zapamiętaj; jeśli przenosisz się między partycjami, "mv" skopiuje plik do nowego miejsca docelowego i rozłączy ścieżkę źródłową.
Stare pytanie, jestem zaskoczony, że nikt nie odpowiedział na to proste rozwiązanie. Nie potrzebujesz plików fileutils ani wywołania systemowego, po prostu zmień nazwę pliku na nową lokalizację.
File.rename source_path, target_path
Miłego kodowania
FileUtils.mv
.
require "FileUtils"
FileUtils.move 'stuff.rb', '/notexist/lib/ruby'
mv
sprawia, że czuję się jak w mojej ukochanej konsoli;)
move
a mv
więc można wybrać jedn. :)
require "fileutils"
(bez kapsli)
Użyj modułu „fileutils” i użyj FileUtils.mv:
http://www.ruby-doc.org/stdlib-2.0/libdoc/fileutils/rdoc/FileUtils.html#method-c-mv
oto szablon.
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
możesz przenieść swój plik w ten sposób
Rails.root.join ('foo', 'bar')