Attempting to delete a non-empty folder:
directory "C:\tempdirectory" do
action :delete
end
... in Chef I receive:
Errno::ENOTEMPTY
Directory not empty
Is there a quick way to delete all files in the directory?
Or an argument or flag to allow me to delete non-empty directories?
If I recall correctly, setting the recursive true
attribute will force remove non-empty directories.
The docs for the directory
LWRP don't describe this behavior, but they do provide this usage example:
directory "/tmp/something" do
recursive true
action :delete
end
The docs have since been amended to cryptically say:
recursive
Ruby Types: TrueClass, FalseClassCreate or delete parent directories recursively. For the owner, group, and mode properties, the value of this attribute applies only to the leaf directory.
Default value:false
.
They still stop short of saying "recursive true
is required to delete non-empty directories. Without this setting, attempting to delete a non-empty directory will fail with the message: Errno::ENOTEMPTY Directory not empty
".