0
在Ruby 1.8中,如何刪除其中某些子目錄以'。'開頭的目錄樹?如何使用.directories清空目錄
例如,我有一個我想清除的嵌入式Linux文件系統目錄。其子目錄之一是./dev/.udev/files。
Dir[ "{**/*,**/.**,**/.*}" ].sort.reverse.each do | p |
puts p
if ((p != '..') and (p != '.')) then
if File.directory? p then
Dir.rmdir p
else
File.delete p
end
end
end
這可以識別./dev/.udev/,但它不會刪除.udev下的文件(或文件和目錄)。
我意識到,我可能是殘酷的,並從工作目錄執行
system("rm -Rf *")
,但我想了解通配符的方法更好。
在此先感謝! :d
Dir []。sort.reverse旨在首先在它們所在的目錄之前列出最深的文件。除了glob模式**和*不接受文件或以其開頭的目錄。 – 2010-10-07 20:18:00
感謝您對FileUtils的建議;這比系統()更清潔。 :d – 2010-10-07 20:18:54