作者:手机用户2402852387 | 2023-08-29 19:37
我想删除一个可能包含或不包含文件或其他目录的目录.查看Ruby文档,我找到了Dir.rmdir,但它不会删除非空目录.是否有一种方便的方法让我这样做?或者我是否需要编写递归方法来检查目录下的所有内容?
1> womble..:
require 'fileutils'
FileUtils.rm_rf(dir)
请注意,文档中包含以下警告:如果未通过:safe作为rm_rf的选项,则可能会暴露漏洞.
@ alex0112:见http://ruby-doc.org/stdlib-1.9.3/libdoc/fileutils/rdoc/FileUtils.html#method-c-rm_rf和http://ruby-doc.org/stdlib-1.9. 3/libdoc /文件实用程序/的RDoc/FileUtils.html#方法-C-rm_r
只是注意,我发现使用Windows和Ruby 1.9.3(至少)`FileUtils.rm_rf`将遵循链接(在这种情况下为符号链接)并删除这些文件和文件夹.这是基于创建一个带有`CreateSymbolicLinkW`的符号链接,然后针对符号链接所在的父目录运行`FileUtils.rm_rf`而找到的.不完全符合预期的行为.