Sous Windows XP, puis-je exécuter un fichier batch (.bat ou .cmd) via un raccourci, sans "fenêtre noire"?
Enregistrez les éléments suivants sous wscript, par exemple, hidecmd.vbs après avoir remplacé "testing.bat" par le nom de votre fichier de commandes.
Set oShell = CreateObject ("Wscript.Shell")
Dim strArgs
strArgs = "cmd /c testing.bat"
oShell.Run strArgs, 0, false
Le deuxième paramètre de oShell.Run
est intWindowStyle
valeur indiquant l'apparence de la fenêtre du programme et la valeur zéro correspond à la fenêtre masquée.
La référence est ici http://msdn.Microsoft.com/en-us/library/d5fk67ky.aspx
Ceci est juste une simplification de la réponse de Shaji. Vous pouvez exécuter votre script batch par le biais d’un script VBScript (.vbs) comme celui-ci:
'HideBat.vbs
CreateObject("Wscript.Shell").Run "your_batch_file.bat", 0, True
Ceci exécutera votre fichier de commandes sans fenêtre de commande.
Pour développer les réponses "Utiliser Windows Scripting" (ce que je considère le mieux, car il est déjà intégré), voici comment procéder en utilisant un seul script d'encapsuleur et en transmettant le nom du fichier batch "réel" en tant que paramètre. Des paramètres supplémentaires seront transmis au fichier de commandes.
If WScript.Arguments.Count >= 1 Then
ReDim arr(WScript.Arguments.Count-1)
For i = 0 To WScript.Arguments.Count-1
Arg = WScript.Arguments(i)
If InStr(Arg, " ") > 0 Then Arg = """" & Arg & """"
arr(i) = Arg
Next
RunCmd = Join(arr)
CreateObject("Wscript.Shell").Run RunCmd, 0, True
End If
Donc, par exemple enregistrer le fichier ci-dessus en tant que NoShell.vbs
quelque part puis appeler:
NoShell.vbs c:\foo\my_batch_file.bat
Enfin, si vous souhaitez exécuter cette opération depuis un endroit ne comprenant pas le fichier .vbs (tel qu'un "Outils externes" dans Visual Studio), vous voudrez appeler C:\Windows\System32\wscript.exe
avec le fichier vbs comme premier paramètre et votre fichier batch comme le second.
Vous pouvez modifier les propriétés du raccourci pour une exécution minimisée.
Pour l'exécuter de manière totalement invisible, vous aurez besoin de quelque chose d'autre comme Windows Scripting.
Utilisez start avec l’option '/ B'. Par exemple:
@echo off
start /B go.bat
Vous pouvez utiliser un script de fenêtre tel que AutoIt .
Par exemple, écrivez simplement cela dans l'éditeur de script AutoIt. C'est assez simple
Run("C:\test\batchfile.bat", "", @SW_HIDE)
Si vous voulez l'exécuter en boucle,
$x=0
Do
Run("C:\test\batchfile.bat", "", @SW_HIDE)
Sleep(5000)
Until $x = 1
Compilez-le en tant que .exe - et vous avez terminé.
De même, dans AutoHotkey :
#NoTrayIcon ; To prevent momentary icon pop-up
run whatever.bat arg1 arg2,,hide
Open Source GPL libre "Créer un processus caché"
http://www.commandline.co.uk/chp/
Microsoft Security Essentials et probablement la plupart des autres analyseurs de virus/programmes malveillants traitent l'exécutable, chp.exe, comme un virus, car il cache le programme que vous spécifiez lorsque vous affichez une fenêtre ou un bouton de la barre des tâches, comme le font les virus.
Ce n'est pas un virus. Cela n'empêche pas le processus cible d'apparaître dans le gestionnaire de tâches, par exemple. Et bien sûr, le code source est inclus afin que vous puissiez voir qu'il est très petit et ne fait rien sauf exécuter le programme que vous lui donnez.
Vous n'avez même pas à croire que le chp.exe inclus a vraiment été construit à partir de cette source. Vous pouvez continuer et supprimer le fichier chp.exe inclus et compiler le vôtre à partir de la source. Tous les outils nécessaires pour le faire sont même gratuits et téléchargeables.
Vous pouvez également créer un raccourci vers le fichier .bat ou .cmd, puis cliquer avec le bouton droit de la souris sur le raccourci, Propriétés, Onglet Raccourci, Exécuter: Réduit. Ensuite, dans les tâches planifiées, utilisez directement le raccourci au lieu du fichier .bat/.cmd. Cela empêchera une fenêtre d'apparaître, mais un bouton de la barre des tâches apparaîtra quand même.
Utilisez Hidden Start (coûte 20 $)
Démarrage masqué - Exécuter des applications et des fichiers batch sans fenêtre de console ou invite UAC
Les applications de la console et les fichiers de commandes sont régulièrement exécutés au démarrage de Windows ou selon un calendrier. Le principal inconvénient est que chaque application ouvre une fenêtre de console qui scintille à l'écran. Hidden Start (ou Hstart) est un utilitaire léger de ligne de commande qui vous permet d'exécuter des applications console et des fichiers de commandes sans aucune fenêtre en arrière-plan, de gérer l'élévation des privilèges UAC sous Windows 7 et Vista, de lancer plusieurs commandes en parallèle ou de manière synchrone, etc. .
Solution simple, sans utiliser de programmes supplémentaires.
Bonne chance!