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
32
Utilise :


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

Sébastien FERRAND

Blog :
http://blogs.developpeur.org/sebmafate</FO< body>
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32
à 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

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
32
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

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
84
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
32
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
84
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

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
84
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

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

Il me met que le fichier spécifé est introuvable