[Batch Dos][Résolu] cacher l'invite de commande

cacher l'invite de commande [Batch Dos][Résolu] - Shell/Batch - Programmation

Marsh Posté le 13-09-2006 à 11:57:26    

Salut,
je développe un .bat en ce moment et j'aimerai que son exécution soit cachée.
J'ai essayé avec les @ devant les commandes mais la fenêtre apparaît quand même,  
est-il possible de la rendre plus discrète...?

Message cité 1 fois
Message édité par jambon le 16-09-2006 à 11:23:57
Reply

Marsh Posté le 13-09-2006 à 11:57:26   

Reply

Marsh Posté le 13-09-2006 à 12:05:14    

Eliminer l'utilisation du batch pour adopter une méthodologie plus moderne, comme le vbs ? [:moule_bite]
 
Sauf erreur tu ne peux pas masquer cette fameuse fenêtre, dans la mesure où ton .BAT doit être interprété, et que cette fenêtre, c'est celle de l'interpréteur.

Reply

Marsh Posté le 13-09-2006 à 12:51:00    

ok, alors dans ce cas ma question est la suivante:
 y a t-il une fonction (type command("ma commande dos" ))  
qui permet de réaliser les commandes Dos en vbscript?


Message édité par jambon le 13-09-2006 à 12:51:20
Reply

Marsh Posté le 13-09-2006 à 14:07:11    

Oui.
 

Set WshShell = WScript.CreateObject("WScript.Shell" )
WshShell.Run("un_programme_ou_un_script_quelconque avec ses arguments" )


 
Ou bien, pour une commande interne de l'interpréteur de commande (le DOS n'existe plus hein) :
 

Set WshShell = WScript.CreateObject("WScript.Shell" )
WshShell.Run("cmd /c une_commande_quelconque et ses arguments" )


Message édité par Elmoricq le 13-09-2006 à 14:07:52
Reply

Marsh Posté le 13-09-2006 à 14:10:33    

jambon a écrit :


je développe un .bat en ce moment et j'aimerai que son exécution soit cachée.


Juste pour info, Google pour HiddenConsole.exe.

Reply

Marsh Posté le 14-09-2006 à 00:46:20    

ok Elmoricq, mon batch vbs fontionne.
Le problème est qu'il s'affiche comme le .bat


Message édité par jambon le 14-09-2006 à 00:46:37
Reply

Marsh Posté le 14-09-2006 à 07:00:35    

Non mais si tu exécutes des cmd /c, c'est normal. :o

Reply

Marsh Posté le 14-09-2006 à 12:34:14    

Salut ,
 
Dans le VBS tu as essayé un truc du genre :
 
macommande ="tonfichier.bat" (ou "cmd /c dir *.* > c:\mestest\logvbs.txt)
 
Ensuite dans l'appel a WshShell.Run en 1er parametre : macommande
et en 2eme SW_HIDE .
 


---------------

Reply

Marsh Posté le 14-09-2006 à 13:33:19    

Reply

Marsh Posté le 14-09-2006 à 14:05:26    


 
Je vais pas te l'apprendre mais avec ShellExecute() on peut faire pareil .


---------------

Reply

Marsh Posté le 14-09-2006 à 14:05:26   

Reply

Marsh Posté le 15-09-2006 à 20:00:48    

yes merci, je vais essayer ça


Message édité par jambon le 15-09-2006 à 20:09:06
Reply

Marsh Posté le 15-09-2006 à 20:50:01    

Cette méthode marche vachement bien pour moi car la fenêtre DOS ne fait que "flacher" mais si je mets SW_HIDE ou pas ça change rien.
 
J'ai du mal mettre le 2ème argument; je l'ai surchargé avec +, la j'ai aucune erreur mais tjs le même comportement.  
 
Comment doit-on le mettre pour que je n'ai pas l'apparition de ces fenêtres?
 
PS: j'ai essayè de le faire comme ça mais il y a une erreur
WshShell.Run(macommande, SW_HIDE)

Message cité 1 fois
Message édité par jambon le 15-09-2006 à 20:50:54
Reply

Marsh Posté le 16-09-2006 à 01:54:16    

jambon a écrit :

WshShell.Run(macommande, SW_HIDE)


 
A remplacer par  :
 
WshShell.Run macommande, SW_HIDE ,true
 


---------------

Reply

Marsh Posté le 16-09-2006 à 11:23:24    

Merci ça marche nickel!!!

Reply

Marsh Posté le 29-01-2007 à 10:21:45    

Cela ne fonctionne pas chez moi :-(
 
J'ai essayé deux versions :
Set WshShell = WScript.CreateObject("WScript.Shell" )  
WshShell.Run fichier.bat, SW_HIDE,true
 
et  
Set WshShell = WScript.CreateObject("WScript.Shell" )  
WshShell.Run cmd /c fichier.bat, SW_HIDE,true
 
Merci de votre aide


Message édité par helios44 le 29-01-2007 à 11:41:41
Reply

Marsh Posté le 29-01-2007 à 11:40:47    

bon bah, en faisaint ceci, ca a lair de marcher :
 
Set WshShell = WScript.CreateObject("WScript.Shell" )
WshShell.Run "fichier.bat", SH_WIDE
 

Reply

Marsh Posté le 30-01-2007 à 08:48:08    


eh bien en fait, non ca ne marche pas...il me mets une erreur en ligne 2 caractere 1 : le document ne peut etre trouvé. Pourtant il est sur le bureau....je comprends pas

Reply

Marsh Posté le 05-03-2007 à 16:47:01    

SH_WIDE est une variable numerique tu peux mettre 1 a la place puis ,true
 
donc
WshShell.Run ("fichier.bat", 1, true)
 
perso j'ai un petit PB:
 
 Return = WshShell.run("C:\TEMP\monfichier.exe /user:domain\administrateur /password:et_le_mot_de_passe_qui_va_bien", 1, true)
mais sa passe pas  
une idée je vois pas ou je me plant :??:


Message édité par le_relou le 05-03-2007 à 16:50:45
Reply

Marsh Posté le 05-03-2007 à 20:11:47    

Sinon il y a le petit programme CMDOW qui permet de cacher n'importe quel fenetre :
http://www.commandline.co.uk/cmdow/
exemple : cmdow /run /hid fichier.bat

Reply

Marsh Posté le 06-03-2007 à 08:22:13    

sorry me suis tromper de categorie :jap:


Message édité par le_relou le 06-03-2007 à 08:27:00
Reply

Marsh Posté le 12-10-2007 à 17:02:58    

wackevat a écrit :


Juste pour info, Google pour HiddenConsole.exe.


 
Salut  :jap:  
 
Je ne trouve pas de lien pour télécharger HiddenConsole sur google, tu n'aurai pas un lien pour la télécharger ?


Message édité par Coolnut le 12-10-2007 à 17:20:03
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed