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?
Use the rm command to remove files you no longer need. The rm command removes the entries for a specified file, group of files, or certain select files from a list within a directory.
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
".
You have to add the recursive true
option. This option will remove all the directories.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With