Aller au contenu

Messages recommandés

Bonjour,

Comment faire une destruction recursive et selective de repertoire?

Dans mon dossier /photo j'ai un répertoire qui a été créé dans tous les répertoires et sous répertoires, et qui porte un nom unique et connu; je voudrais le supprimer.

Existe-t il une alternative à File station comme pcmanfm par exemple?

Merci.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

si tu es sous Windows, tu peux utiliser la fonction de recherche de l'Explorateur de fichiers à partir de la racine de ton volume pour afficher en une seule fois tous ces répertoires qui ont le même nom; afficher aussi la colonne "chemin d'accès" (ou "Dossier", selon la version) pour faire une petite vérif; ensuite il n'y a plus qu'à sélectionner tous ces répertoires (en utilisant les règles classiques de sélection multiple) et les effacer.

Lien vers le commentaire
Partager sur d’autres sites

Utiliser la fonction de recherche avancée de filestation avec comme emplacement tous les sous dossiers: de "photo" et type de fichier "tous les dossiers"

e0Abric.png

ensuite sélectionner tous les items de la liste (clic sur le premier et shift-clic sur le dernier) puis "action->supprimer"

Lien vers le commentaire
Partager sur d’autres sites

pour quelqu'un sous linux, j'aurai proposer la ligne de commande :

find . -name "FILE-TO-FIND" -exec rm -rf {} ;

(je sais je connais pas l'utilisation de l'interface graphique -->[])

Bon, si il s'agit de montrer sa science, alors allons-y ... B) (pas taper hein, j'ai juste du temps à perdre ce soir!)

"find ... -exec" n'est pas toujours très optimal si les fichiers trouvés sont nombreux.

Je proposerai plutôt:

find . -deph -name "FILE-TO-FIND" -print0 | xargs -0 rm -rf
  • "-depth" pour éviter des erreurs dans le cas de répertoires imbriqués qui matchent tous deux la condition (en fait ça marche quand même sans c'est plus propre ainsi)
  • le "-print0" pour find et le "-0" de xargs c'est au cas ou certains fichiers ont des espaces dans leurs noms.
Lien vers le commentaire
Partager sur d’autres sites

rm fonctionne pour les répertoires également ?? (question initiale)

Est-ce que la commande fonctionnerait avec rmdir?


Suffit de cliquer sur la loupe

Effectivement, ça fonctionne, il suffisait de le savoir, merci.

Lien vers le commentaire
Partager sur d’autres sites

rm fonctionne pour les répertoires également ?? (question initiale)

Oui, si on lui ajoute l'option "-r" (récursif).

Est-ce que la commande fonctionnerait avec rmdir?

"rmdir" n'efface que les répertoires *vides*.

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

Quelle en est la raison ? Je ne vois pas pourquoi une redirection ( | xarg ) pourrait aller plus vite qu'un traitement direct ? :blink:

"find -exec "va "forker" un sous process "rm" pour *chaque* fichier trouvé.

Avec la redirection vers "xargs <commande>", ce dernier (xargs) sait créer un minimum de process en invoquant la commande avec plusieurs noms de fichiers en arguments (en tenant comte de la longueur maximum de commande sur le système hote).

au lieu d'avoir généré les process:

rm <fichier-1>
rm <fichier-2>
...
rm <fichier-N>

(N process donc)

on va avoir idéalement:

rm <fichier1> <fichier2> ... <fichierN>

Un seul process tant que longeur totale des noms des N fichiers n'est pas trop importante, sinon deux, etc ...

Bon, je conviens que ça peut être de la sodomisation de diptères mais, j'aime bien chercher la petite bête pour optimiser.

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

A priori les versions récentes de find ont un "xarg" intégré :

find /path -name "nomrep" -exec rm -rf {} +

C'est tout a fait exact mais je me suis volontairement limité au "find" du busybox intégré à DSM qui ne supporte pas cette fonctionnalité:

fserv> find . -type f -exec ls -ld {} "+"
find: -exec CMD must end by ';'
Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.