我正在尝试执行一个非常简单的mv
命令。有人可以告诉我下面的代码有什么问题吗?
src="xyz_*.bak"
dest = "xyz"
FileUtils.mv Dir.glob("#{curr}"+'/'+"#{src}"), "#{dest}"
我看到以下错误:
Errno::ENOENT: No such file or directory - /home/dir/src/lib/util/xyz_abc_1.bak or xyz/xyz_abc_1.bak
我仔细检查了xyz_abc_1.bak
文件。
答案 0 :(得分:0)
忽略当前目录,不要求包含它,因为所有变量都已经是字符串,所以也可以简化它。
一点点验证应该会产生更有用的结果。
require 'fileutils'
pattern = "my_temp*.bak"
dest = "tmp_dest"
located_files = Dir.glob(pattern)
if located_files.length == 0
abort("ERROR: Unable to locate files given by #{pattern} in #{Dir.pwd}")
end
if Dir.exists? dest
FileUtils.move located_files , dest
else
abort("ERROR: #{dest} directory does not exist")
end