使用Chef删除目录中的所有文件

时间:2014-04-18 14:40:00

标签: chef

尝试删除非空文件夹:

directory "C:\tempdirectory" do
 action :delete
end

...我收到的厨师:

Errno::ENOTEMPTY
Directory not empty

是否有快速删除目录中的所有文件的方法?

或者允许我删除非空目录的参数或标志?

2 个答案:

答案 0 :(得分:44)

如果我没记错,设置recursive true属性将强制删除非空目录。

The docs for the directory LWRP没有描述这种行为,但它们确实提供了这个用法示例:

directory "/tmp/something" do
  recursive true
  action :delete
end

此后,文档被修改为密码:

  

recursive
  Ruby类型:TrueClass,FalseClass

     

递归创建或删除父目录。对于owner,group和mode属性,此属性的值仅适用于叶子目录   默认值:false

他们仍然没有说“删除非空目录需要recursive true。如果没有此设置,尝试删除非空目录将失败并显示消息:Errno::ENOTEMPTY Directory not empty”。< / p>

答案 1 :(得分:4)

您必须添加recursive true选项。此选项将删除所有目录。