IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Administration système Discussion :

Supprimer plusieurs fichiers du même nom en une ligne de commande


Sujet :

Administration système

  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 52
    Points : 34
    Points
    34
    Par défaut Supprimer plusieurs fichiers du même nom en une ligne de commande
    Bonjour,

    Premièrement désolé d'avance, je ne trouve pas ou ce poste à vraiment ça place dans le forum.

    J'ai une arboréssence de fichier du genre :

    D:\data\
    dossier1\
    _un_fichier_
    dossier2\
    _un_fichier_
    dossier3\
    _un_fichier_
    _un_fichier_

    D'autre fichier ce trouve dans ces dossiers et je ne doit pas les supprimer.

    J'aimerais savoir si la commande rm me permettrait en une seul commande d'effacer tout les fichiers "_un_fichier_".

    Merci d'avance...

  2. #2
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 262
    Points
    12 262
    Par défaut
    oui mais à condition de l'appeler depuis un chercheur

    en fait c'est la command find qui doit alors appeler le rm :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    find /data/ -type f -name _un_fichier_ -exec rm {} \;
    mais hote moi d'un doute c'est bien sous unix ?

  3. #3
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 52
    Points : 34
    Points
    34
    Par défaut
    Merci beaucoup pour ton aide.

    Je tourne sur un winXP pro. Mais j'utilise cygwin...

    Ta commande fonctionne bien quand je la tape directement dans la console cygwin :

    find D:/Xxx/xxx/data/ -type f -name _UN_FICHER_ -exec rm {} \;

    Par contre dans dans mon invite de commande windows ( j'ai aussi accès au cmd unix ) :

    find D:/Xxx/xxx/data/ -type f -name _UN_FICHIER_ -exec rm {} \;
    FIND : format incorrect de paramètre

    et

    find D:\Web\iged\data\ -type f -name _UN_FICHIER_ -exec rm {} \;
    FIND : format incorrect de paramètre

    Au final cette commande serra appelé par un script php.
    Quand je génère ma commande et que je fait un exec(); en php ça ne donne rien. c'est sûrement en rapport avec l'erreur de format des paramètres.

    Merci d'avance je commence à craquer

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Citation Envoyé par Orbiplanax Voir le message
    Par contre dans dans mon invite de commande windows ( j'ai aussi accès au cmd unix )
    Non, c'est faux, c'est pas le même find. Pour t'en convaincre, tapes find /? dans Cygwin et l'interpréteur Windows et observe.

    Pour appeler la commande find Cygwin depuis un interpréteur de commande Windows classique, il faut que tu ailles (cd /d) d'abord le répertoire cygwin\bin : cd /d D:\cygwin\bin sur mon PC.

    Si c'est appelé depuis un script PHP, pourquoi ne pas implémenter ta propre procédure de suppression en PHP ?

  5. #5
    Nouveau membre du Club
    Inscrit en
    Août 2007
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 52
    Points : 34
    Points
    34
    Par défaut
    Arg ...

    Je ne sais plus comment j'ai fait mais j'ai accès au commande ls, clear, ... dans mon invite de commande windows.
    Mais effectivement je n'avais pas pensé au problème des fonctions qui on le même nom.

    C:/cygwin/bin/find D:\Xxx\xxx\data\ -type f -
    name _UN_FICHIER_ -exec rm {} ;

    Voila, ça ça à l'air de marcher. Juste, en plus de l'ajout du chemin du bin de cyg. Retirer le \ avant le ;

    Je n'ai pas fait ma procédure perso en php pour effacer ces fichiers car vue le nombre de dossiers et fichiers que contiendra le dossier /data/ par la suite, rien ne serra plus rapide que de le faire en ligne de commande... enfin je croi :p en fait c'est une vague supposition :p

    Voila voila, Merci beaucoup à vous deux ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/05/2015, 19h23
  2. Éditeur de liens et plusieurs fichiers du même nom
    Par saffir dans le forum Qt Creator
    Réponses: 2
    Dernier message: 13/03/2011, 23h34
  3. Supprimer fichiers ayant même nom mais extension différente
    Par jomajo dans le forum Général Java
    Réponses: 9
    Dernier message: 25/02/2011, 15h13
  4. Réponses: 1
    Dernier message: 24/07/2009, 10h09
  5. Réponses: 14
    Dernier message: 02/04/2004, 14h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo