Dans le cadre de mes péripéties de hacker du dimanche, j'avais besoin d'exécuter un fichier .bat (fichier de commandes msdos) sans que la fenêtre de commande s'affiche à l'écran.
Pour ce faire j'ai créé un script en VBScript (du VB orienté scripting en quelque sorte) qui me permet d'exécuter mes .bat de manière silencieuse.
Pour exécuter du VBScript, il faut que Windows Script Host soit installé sur la machine.


Voici le fameux fichier BatchLauncher.vbs :

' On créer les objets nécessaires
Set oArgs = WScript.Arguments
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oShell = CreateObject("WScript.Shell")

sFilePath = oArgs(0) ' On recupere le chemin du .bat passé en paramètre
iRC = oShell.Run("""" & sFilePath & """", 0, True) ' On éxecute le .bat (protégé par des guillemets), le 0 permet de masquer la fenêtre, et True permet d'attendre la fin de l'execution du bat avant de poursuivre

Wscript.Quit iRC
(La gestion d'erreurs à été volontairement retirée pour alléger le code)


Pour utiliser ce script il suffit de taper :
wscript.exe "CheminVersVotreVBS\BatchLauncher.vbs" "CheminVersVotreBAT\test.bat"
Et votre bat s'exécutera de manière invisible grâce au script vbs.