Comment faire pour supprimer un répertoire non vide à l'aide de la Dir classe?
Dir.delete("/usr/local/var/lib/trisul/CONTEXT0/meters/oper/SLICE.9stMxh")
la cause de cette erreur:
Répertoire n'est pas vide -
/usr/local/var/lib/trisul/CONTEXT0/meters/oper/SLICE.9stMxh
Comment faire pour supprimer un répertoire, même lorsqu'il contient encore des fichiers?
- 5 ans et encore ce n'est pas possible en Ruby.
Vous devez vous connecter pour publier un commentaire.
N'est pas possible avec
Dir
(à l'exception de l'itération à travers les répertoires de vous-même ou à l'aide de Dir.glob et la suppression de tout).Vous devez utiliser
Lorsque vous supprimez un répertoire avec le
Dir.delete
, il va également chercher les sous-répertoires pour les fichiers.Si le répertoire n'est pas vide, il va augmenter
Directory not empty
erreur. Pour que ruby ontFiltUtils.rm_r
méthode qui permet de supprimer le répertoire n'importe quoi!J'utilise bash directement avec le
system(*args)
de commande comme ceci:Il n'est pas vraiment ruby spécifique, mais depuis bash est plus simple dans ce cas j'utilise fréquemment, pour nettoyer les dossiers temporaires et les fichiers. Le
rm
commande supprime tout ce que vous donnez et la-r
drapeau dit-il à supprimer des fichiers de manière récursive dans le cas où le dossier n'est pas vide.