Comment exécuter un fichier batch sans lancer une "fenêtre de commande"?

Sur Windows XP, puis-je exécuter un fichier batch (.bat ou .cmd), via un raccourci, sans une "fenêtre noire"?

    Enregistrez le suivant comme wscript, par exemple, hidecmd.vbs après avoir remplacé "testing.bat" par le nom de votre fichier de lot.

    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 la valeur intWindowStyle indiquant l'apparence de la fenêtre du programme et la valeur zéro est pour la fenêtre cachée.

    La référence est ici http://msdn.microsoft.com/en-us/library/d5fk67ky.aspx

    C'est simplement une simplification de la réponse de Shaji. Vous pouvez exécuter votre script batch via un script VBScript (.vbs) comme ceci:

     'HideBat.vbs CreateObject("Wscript.Shell").Run "your_batch_file.bat", 0, True 

    Cela exécutera votre fichier de commandes sans fenêtre de commande.

    Juste pour étendre les réponses "Utiliser Windows Scripting" (ce que je considère comme le meilleur parce qu'il est déjà intégré), voici comment le faire en utilisant un script wrapper unique et en passant 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, enregistrez le fichier ci-dessus comme NoShell.vbs quelque part, puis appelez:

     NoShell.vbs c:\foo\my_batch_file.bat 

    Enfin, si vous cherchez à l'exécuter à partir d'un endroit qui ne comprend pas le fichier .vbs (tel qu'un «Outils externes» dans Visual Studio), vous allez appeler C:\Windows\System32\wscript.exe Avec le fichier vbs comme premier paramètre et votre fichier batch comme deuxième.

    Vous pouvez modifier les propriétés du raccourci vers l'exécution minimisée.

    Pour l'exécuter complètement invisible, vous aurez besoin de quelque chose comme Windows Scripting.

    Utilisez l'option '/ B'. Par exemple:

     @echo off start /B go.bat 

    Gratuit GPL open source "Créer un processus caché"

    http://www.commandline.co.uk/chp/

    Microsoft Security Essentials, et probablement la plupart des autres scanners de virus / malware traitera l'exécutable, chp.exe, en tant que virus, car il cache tout programme que vous spécifiez d'afficher une fenêtre ou un bouton de barre des tâches, tout comme les virus.

    Ce n'est pas un virus. Il ne cache 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 que exécuter le programme que vous lui donnez.

    Vous n'avez même pas à croire que le chp.exe inclus a été construit à partir de cette source. Vous pouvez aller de l'avant et jeter le chp.exe inclus et compiler le vôtre à partir de la source, et 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 cliquez avec le bouton droit de la souris sur le raccourci, Propriétés, onglet Raccourci, Exécuter: Minimisé. Ensuite, dans les tâches planifiées, utilisez le raccourci au lieu du fichier .bat / .cmd directement. Cela empêchera l'apparition d'une fenêtre, mais un bouton de la barre des tâches apparaîtra toujours.

    Utilisez le démarrage caché (coûte 20 $)

    Démarrage caché – Exécutez les applications et les fichiers par lots sans une fenêtre de console ou une invite UAC

    Les applications de console et les fichiers de commandes sont régulièrement exécutés au démarrage de Windows ou dans un planning. Le principal inconvénient de cela est que chaque application ouvre une fenêtre de console qui clignote sur l'écran. Hidden Start (ou Hstart) est un utilitaire de ligne de commande léger qui vous permet d'exécuter des applications de console et de fichiers par lots sans fenêtre en arrière-plan, gérer l'élévation de privilège UAC sous Windows 7 et Vista, démarrer plusieurs commandes en parallèle ou de façon synchrone, et bien plus encore .

    Entrez la description de l'image ici

    Vous pouvez utiliser des scripts de fenêtres tels que AutoIt .

    À titre d'exemple, il suffit d'écrire ceci 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 comme .exe – et vous avez terminé.


    De même, dans AutoHotkey :

     #NoTrayIcon ; To prevent momentary icon pop-up run whatever.bat arg1 arg2,,hide 

    Solution simple, sans utiliser de programmes supplémentaires.

    1. Créez le fichier batch que vous souhaitez exécuter et testez-le.
    2. Creata un raccourci pour ça!
    3. Modifiez les propriétés du raccourci: dans l'onglet Raccourci, choisissez Exécuter minimalisé. Assurez une touche d'accès rapide et vous avez terminé!

    Bonne chance!