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

C++ Discussion :

pb méthode remove("chemin_fichier")


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de yuukuari
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 65
    Par défaut pb méthode remove("chemin_fichier")
    Bonjour

    J'utilise la méthode remove("chemin_fichier") pour supprimer des fichiers de mon disque. Cependant je ne connais pas exactement le nombre de ces fichiers, seulement leur syntaxe:
    projet_Report-Element-Statistics-*-AfterCS.xls
    Je pensais donc faire: remove("C:\chemin du fichier\projet_Report-Element-Statistics-*-AfterCS.xls") mais il n'y arrive pas Ça marche pourtant très bien lorsqu'on donne le nom exact.

    J'ai aussi essayé system("del projet_Report-Element-Statistics-*-AfterCS.xls") mais il n'y arrive pas non plus (et en plus il m'ouvre une console .. ).

    Merci de votre aide !

    Yuukuari

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Tu es sûr d'être dans le bon forum, ici, c'est du C++ ?

    Dans quel forum veux tu que je déplace ce post ?
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Membre confirmé Avatar de yuukuari
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 65
    Par défaut
    Ben justement je sais pas vraiment
    Comme je code en C++ je l'ai mis ici .. bien que ma question s'applique (je pense) tout aussi bien au C ou autre.

    Yuukuari

  4. #4
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    remove("chemin vers le fichier") devrait marcher. Comment ça se fait que ça ne marche pas chez-toi. Montre comment tu l'utilises (en précisant le chemin complet vers ton fichier et le chemin complet vers ton programme et la manière dont tu lances ce dernier).

    remove("*.xls") n'a aucune chance de marcher car *.xsl n'est pas le nom d'un fichier. Utilise remove en boucle. De plus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    remove("C:\chemin du fichier\projet_Report-Element-Statistics-*-AfterCS.xls")
    Quelle horreur. \ est le caractère d'échappement pour les caractères spéciaux du C et du C++. Pour désigner le caractère antislash, il faut utiliser '\\' :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    remove("C:\\chemin du fichier\\projet_Report-Element-Statistics-*-AfterCS.xls")
    system("del projet_Report-Element-Statistics-*-AfterCS.xls") devrait également. Es-tu sûr que ces fichiers sont dans le même répertoire que ton programme ? Si la réponse est non, donne le chemin complet (system("del c:\\...\\*.xls"). Si le chemin contient des espaces, le mettre entre guillemets.

    system n'ouvre pas de nouvelle console dans une application console. Si t'es dans une application fenêtrée, utilise autre chose que system. CreateProcess ou ShellExecute par exemple.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShellExecute(NULL, "open", "cmd.exe", "/c <ta commande>", NULL, NULL, SW_HIDE);
    Mais CreateProcess c'est mieux si tu sais l'utiliser. Regarde dans la FAQ Win32.

  5. #5
    Membre confirmé Avatar de yuukuari
    Homme Profil pro
    Inscrit en
    Mai 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2007
    Messages : 65
    Par défaut
    remove("chemin vers le fichier") marche très bien, c'est simplement que j'espérai qu'en utilisant le caractère "*" dans le nom du fichier à supprimer, il le comprendrait comme "n'importe quel caractère" et pas comme le caractère "*".
    En ce qui concerne les caractères "\", c'est un mauvais recopiage, désolé :]

    Apparemment ce n'est pas possible avec remove et comme je ne sais pas du tout combien il y a de fichiers je peux pas boucler :/

    Je suis effectivement dans une application fenêtrée donc je vais aller voir du côté de ShellEXecute.
    Sinon je pensais à une autre solution possible, ce serait de parcourir les fichiers du dossier un par un et de chercher leur partie commune, du genre:

    projet_Report-BSX-File-AfterCS.xls
    projet_Report-Element-Load-AfterCS.xls
    projet_Report-Element-Statistics-PPL-AfterCS.xls
    projet_Report-Element-Statistics-PVC-AfterCS.xls
    projet_Report-Element-Statistics-Vehicle-AfterCS.xls


    Je cherche la chaine "projet_Report-Element-Statistics-" dans chaque fichier et si elle est présente, alors le fichier est à supprimer..

    Yuukuari

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