Tôi muốn di chuyển một tập tin với Ruby. Làm thế nào để làm điều đó?
Tôi muốn di chuyển một tập tin với Ruby. Làm thế nào để làm điều đó?
Câu trả lời:
Bạn có thể sử dụng FileUtils để làm điều này.
#!/usr/bin/env ruby
require 'fileutils'
FileUtils.mv('/tmp/your_file', '/opt/new/location/your_file')
Nhớ lại; nếu bạn đang di chuyển qua các phân vùng, "mv" sẽ sao chép tệp vào đích mới và hủy liên kết đường dẫn nguồn.
Một câu hỏi cũ, tôi ngạc nhiên không ai trả lời giải pháp đơn giản này. Bạn không cần fileutils hoặc systemcall, chỉ cần đổi tên tệp thành vị trí mới.
File.rename source_path, target_path
Chúc mừng mã hóa
FileUtils.mv
.
require "FileUtils"
FileUtils.move 'stuff.rb', '/notexist/lib/ruby'
mv
làm cho tôi cảm thấy như mình đang ở trong bảng điều khiển yêu quý của mình;)
move
và mv
vì vậy người ta có thể chọn một trong hai. :)
require "fileutils"
(không giới hạn)
Sử dụng mô-đun 'fileutils' và sử dụng FileUtils.mv:
http://www.ruby-doc.org/stdlib-2.0/libdoc/fileutils/rdoc/FileUtils.html#method-c-mv
đây là một mẫu
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
bạn có thể di chuyển tập tin của bạn như thế này
Rails.root.join ('foo', 'bar')