Ответ 1
Невозможно использовать Dir
(кроме итерации через каталоги самостоятельно или с помощью Dir.glob и удаления всего).
Вы должны использовать
require 'fileutils'
FileUtils.rm_r "/usr/local/var/lib/trisul/CONTEXT0/meters/oper/SLICE.9stMxh"
Dir.delete("/usr/local/var/lib/trisul/CONTEXT0/meters/oper/SLICE.9stMxh")
вызывает эту ошибку:
Каталог не пуст -
/usr/local/var/lib/trisul/CONTEXT0/meters/oper/SLICE.9stMxh
Как удалить каталог, даже если он все еще содержит файлы?
Невозможно использовать Dir
(кроме итерации через каталоги самостоятельно или с помощью Dir.glob и удаления всего).
Вы должны использовать
require 'fileutils'
FileUtils.rm_r "/usr/local/var/lib/trisul/CONTEXT0/meters/oper/SLICE.9stMxh"
Когда вы удаляете каталог с 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"