【发布时间】:2018-08-09 19:45:39
【问题描述】:
我正在尝试创建一个简单的脚本来从我的桌面删除所有文件(我使用的是 Ubuntu)。
puts "Started at #{Time.now}"
Dir.chdir("/Desktop")
Dir.entries(".").each do |file|
if file.to_s.include?("xlsx")
puts "Deleting file #{file}" unless file == "." || file == ".."
File.delete "#{Dir.pwd}/#{file}" unless file == "." || file == ".."
end
end
puts "Ended on #{Time.now}"
但是当我生成代码时,它会抛出以下错误:
chdir': 没有这样的文件或目录@dir_chdir - /Desktop (Errno::ENOENT)
我做错了什么?
【问题讨论】:
-
不工作! `
chdir': No such file or directory @ dir_chdir - ./Desktop (Errno::ENOENT) -
应该是
~/Desktop。另外,unless子句是多余的,文件不能同时包含xlsx(应该是.ends_with?('.xlsx')btw)和等于'.'。 -
谢谢!它仍然无法正常工作。它显示相同的错误
'chdir': No such file or directory @ dir_chdir - ~/Desktop (Errno::ENOENT)是的,我只想从桌面上删除所有 xlsx 文件。 -
不。愚蠢的红宝石不懂波浪号。使用:
Dir.chdir && Dir.chdir('Desktop'). -
成功了,谢谢!将其发布为答案。