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