éxécution de cmd.exe+ 1 paramètre en C

Résolu/Fermé
yoshikuni83 Messages postés 1642 Date d'inscription lundi 1 mars 2010 Statut Membre Dernière intervention 21 décembre 2012 - 9 mars 2010 à 16:18
yoshikuni83 Messages postés 1642 Date d'inscription lundi 1 mars 2010 Statut Membre Dernière intervention 21 décembre 2012 - 10 mars 2010 à 11:14
Bonjour,
je cherche a exécuter cmd.exe et a lui mettre rmdir en paramètre le tout dans un programme en C...

mais comment ca marche? ^^
A voir également:

5 réponses

Bonjour,
En C, pour exécuter une commande système, il faut utiliser la fonction "system" de stdio.h.
Par exemple ; system("ma_commande.exe mon_argument");

Cordialement, M.
0
yoshikuni83 Messages postés 1642 Date d'inscription lundi 1 mars 2010 Statut Membre Dernière intervention 21 décembre 2012 155
10 mars 2010 à 10:13
j'ai fais ce code :

*****************************************************************************

#include <cstdlib>
#include <iostream>
#include <stdio.h>

using namespace std;

int main(int argc, char *argv[])
{
system("cmd.exe rmdir C:\dossier_test");
return 0;
}

*****************************************************************************

mais ca ne prend pas ma commande "rmdir" en compte...
0
Bonjour,
Si tu fais le "rmdir C:\dossier_test" directement dans la console Windows, ca fonctionne ?

Je pense que tu peux te contenter de ça, sans le cmd.exe :
system("rmdir C:\dossier_test");

Mais le rmdir plante peut être car le dossier n'est pas vide.
Ou alors il pose une question de confirmation, sans réponse;

J'utiliserai donc ces deux options :
/S Removes all directories and files in the specified directory in addition to the directory itself. Used to remove a directory tree.
/Q Quiet mode, do not ask if ok to remove a directory tree with /S.

En faisant :
system("rmdir /S /Q C:\dossier_test");

Cordialement,
M.
0
Euh non !!!! Suis-je bête !?!

Il faut toujours faire attention au caractère "\" :
system("cmd.exe rmdir C:\dossier_test");

est à remplacer par :
system("cmd.exe rmdir C:\\dossier_test");

Toutefois, mes précédentes remarques restent judicieuses :)

Bonne journée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yoshikuni83 Messages postés 1642 Date d'inscription lundi 1 mars 2010 Statut Membre Dernière intervention 21 décembre 2012 155
10 mars 2010 à 11:14
AWESOME!! ca marche!

************************************************************************

int main(int argc, char *argv[])
{
system("rmdir /S /Q C:\\dossier_test");
return 0;
}

************************************************************************

Merci beaucoups swed :)

suite au prochain épisode :
https://forums.commentcamarche.net/forum/affich-16947763-un-chemin-semme-d-enbuches
0