Подтвердить что ты не робот

Как удалить непустой каталог с использованием класса Dir?

Dir.delete("/usr/local/var/lib/trisul/CONTEXT0/meters/oper/SLICE.9stMxh")  

вызывает эту ошибку:

Каталог не пуст - /usr/local/var/lib/trisul/CONTEXT0/meters/oper/SLICE.9stMxh

Как удалить каталог, даже если он все еще содержит файлы?

4b9b3361

Ответ 1

Невозможно использовать Dir (кроме итерации через каталоги самостоятельно или с помощью Dir.glob и удаления всего).

Вы должны использовать

require 'fileutils'
FileUtils.rm_r "/usr/local/var/lib/trisul/CONTEXT0/meters/oper/SLICE.9stMxh"

Ответ 2

Когда вы удаляете каталог с Dir.delete, он также будет искать подкаталоги для файлов.

Dir.delete("/usr/local/var/lib/trisul/CONTEXT0/meters/oper/SLICE.9stMxh")

Если каталог не был пустым, он поднимет ошибку Directory not empty. Для этого ruby ​​имеет метод FiltUtils.rm_r, который удалит каталог независимо от того, что!

require 'fileutils'
FileUtils.rm_r "/usr/local/var/lib/trisul/CONTEXT0/meters/oper/SLICE.9stMxh"