Execution d'un programme MSDOS à partir de VB

GrosLolo Messages postés 53 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 13 octobre 2006 - 22 mai 2002 à 11:33
Avigeil Messages postés 5 Date d'inscription mercredi 5 novembre 2003 Statut Membre Dernière intervention 11 mars 2008 - 11 mars 2008 à 13:14
Bonjour,

Quelqu'un peut-il me dire comment executer un programme dos avec redirection du résultat vers un fichier.
La command shell ("mon prog.exe >> test.log") ne me crée pas de fichier test.log !!! Pourquoi ce fichier n'est-il pas créé ?

Un grand merci.

GrosLolo.

8 réponses

fredlynx Messages postés 662 Date d'inscription mercredi 16 janvier 2002 Statut Modérateur Dernière intervention 16 octobre 2010 3
22 mai 2002 à 12:30
ben je crois que tu as un > de trop
et puis faut faire gaffe au chemin d'exécutions....

<center>http://www.lynx-asp.fr.st
WebMaster</center>
0
GrosLolo Messages postés 53 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 13 octobre 2006
22 mai 2002 à 12:40
J'ai essayé avec un seul > et verifié le répértoire de l'executable : c'est toujours pareil.

Le programme s'execute mais aucun fichier n'est créé, j'ai fait un scan complet du disque !

Merci quand même....

GrosLolo.
0
fredlynx Messages postés 662 Date d'inscription mercredi 16 janvier 2002 Statut Modérateur Dernière intervention 16 octobre 2010 3
22 mai 2002 à 13:35
Ben là c'est ton exécutable qui ne sort rien alors :p :p ..
Parce que va sous C: tappe dir *.*>dir.txt
tu vas voir ça marche :)

<center>http://www.lynx-asp.fr.st
WebMaster</center>
0
GrosLolo Messages postés 53 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 13 octobre 2006
22 mai 2002 à 13:40
C'est pour ça que je n'y comprend rien !
Si je récupère la commande envoyée et que je l'execute directement sous MS-DOS tout fonctionne correctement !
0

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

Posez votre question
fredlynx Messages postés 662 Date d'inscription mercredi 16 janvier 2002 Statut Modérateur Dernière intervention 16 octobre 2010 3
22 mai 2002 à 14:02
Ahhhhhhhhhhhhhhhhhhh ben voilà en fait ce doit être ta façon d'envoyer la commande qui merde peut être ???

<center>http://www.lynx-asp.fr.st
WebMaster</center>
0
GrosLolo Messages postés 53 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 13 octobre 2006
22 mai 2002 à 14:10
??!!!???!!!!!!
sCmd = "test.exe > test.log"
Shell(sCmd,vbHide)

Rien de bien méchant !
test.exe est un programme en C++ qui affiche des données à l'écran avec un "cout"

A partir de VB ... rien ! pas de test.log par contre le programme est bien executé.

A partir d'une fenêtre DOS le programme est executé ET le fichier log est généré !

GrosLolo.
0
fredlynx Messages postés 662 Date d'inscription mercredi 16 janvier 2002 Statut Modérateur Dernière intervention 16 octobre 2010 3
22 mai 2002 à 14:31
Essaye avec les API :)

Public Declare Function GetDesktopWindow Lib "user32" () As Long

Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hWnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long

Call ShellExecute(GetDesktopWindow(), "open", sCmd , "", "", 0)

<center>http://www.lynx-asp.fr.st
WebMaster</center>
0
Avigeil Messages postés 5 Date d'inscription mercredi 5 novembre 2003 Statut Membre Dernière intervention 11 mars 2008
11 mars 2008 à 13:14
Le paramètre > et un paramètre de l'application Cmd, ce n'est pas parce que votre application ouvre une fenetre ms-dos que l'appli Cmd est lancée :
Ping google.fr > C:\tst.txt                            ne génère pas de fichier
Cmd /c Ping google.fr > C:\tst.txt                génère un fichier ;-)

Ce n'est pas parce que les choses sont difficiles que nous n'osons pas, c'est
parce que nous n'osons pas qu'elles sont difficiles (Sénèque)
0
Rejoignez-nous