Exécution d'une commande par le shell

Signaler
Messages postés
31
Date d'inscription
vendredi 22 août 2003
Statut
Membre
Dernière intervention
14 octobre 2005
-
Messages postés
31
Date d'inscription
vendredi 22 août 2003
Statut
Membre
Dernière intervention
14 octobre 2005
-
Bonjour,

je dois lancer une commande shell depuis un programme C#.
J'ai essayé plusieurs choses mais à chaque fois la fenêtre dos s'ouvre mais sans la ligne de commande.

Voilà mon code :

Process proc =
new Process();


proc.StartInfo.FileName = "cmd.exe";


proc.StartInfo.Arguments = "echo test";


proc.Start();

12 réponses

Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
37
Utilise :


System
.Diagnostics
.Process
.Start("cmd.exe /C", "echo test");

Sébastien FERRAND

Blog :
http://blogs.developpeur.org/sebmafate</FO< body>
Messages postés
31
Date d'inscription
vendredi 22 août 2003
Statut
Membre
Dernière intervention
14 octobre 2005
1
Il me met que le fichier spécifé est introuvable
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
37
à la place de cmd.exe
mets %WINDIR%\System32\cmd.exe

Sébastien FERRAND

Blog :
http://blogs.developpeur.org/sebmafate</FO< body>
Messages postés
31
Date d'inscription
vendredi 22 août 2003
Statut
Membre
Dernière intervention
14 octobre 2005
1
J'ai essayé :
System.Diagnostics
.Process
.Start("%WINDIR%\System32\cmd.exe /C", "echo test");
-> fichier introuvable
System
.Diagnostics
.Process
.Start("%WINDIR%\System32\cmd.exe", "echo test");
-> fichier introuvable
System
.Diagnostics
.Process
.Start("C:\\Windows\\System32\\cmd.exe", "echo test");
-> Ouverture de la fenêtre dos mais sans le "echo test".
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
37
System.Diagnostics
.Process
.Start(@"%WINDIR%\System32\cmd.exe /C", "echo test");

Sébastien FERRAND

Blog :
http://blogs.developpeur.org/sebmafate</FO< body>
Messages postés
31
Date d'inscription
vendredi 22 août 2003
Statut
Membre
Dernière intervention
14 octobre 2005
1
il me met tj fichier introuvable
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
97
Je pense que c'est plutôt System.Diagnostics.Process.Start("cmd.exe", "/C echo test");

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
37
en effet coq...

mais où ai-je la tête...

Sébastien FERRAND

Blog :
http://blogs.developpeur.org/sebmafate</FO< body>
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
97
Oui, on se fait facilement avoir sur ce genre de chose lol

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
31
Date d'inscription
vendredi 22 août 2003
Statut
Membre
Dernière intervention
14 octobre 2005
1
ok ca marche,

par contre si je veux exécuter 2 commandes successives comme par exemple :
aller ds le répertoire spécifié : "cd C:\\Temp"
puis exécuter le programme dans ce répertoire "programme.exe" ?
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
97
Ecrit un bat et lance celui ci, je pense que ça sera plus simple.

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
31
Date d'inscription
vendredi 22 août 2003
Statut
Membre
Dernière intervention
14 octobre 2005
1
ok merci