59 votes

Masquer la Fenêtre de Commande .Fichier BAT qui Exécute une Autre .Fichier EXE

Ceci est un lot de fichiers dans Windows.

Voici mon .le fichier bat

@echo off
copy "C:\Remoting.config-Training" "C:\Remoting.config"

"C:\ThirdParty.exe"

Cela fonctionne bien sauf le .fichier bat, laisse la fenêtre de commande ouverte tout le temps le "Tiers" de l'application est en cours d'exécution.
J'ai besoin de la commande fenêtre pour la fermer.

Je voudrais utiliser le raccourci de l'application, mais je doit être en mesure d'exécuter cette commande de copie de la première (en fait, il modifications de la base de données et le serveur à utiliser pour l'application).

Le Tiers de l'application ne permet pas à l'utilisateur de modifier la source de la bd ou le serveur d'application.

Nous faisons cela pour permettre aux utilisateurs de passer d'un environnement de test à l'environnement de production.

49voto

cg. Points 1946

À l'aide de start fonctionne pour moi:

@echo off copy "C:\Remoting.config-Training" "C:\Remoting.config"
start C:\ThirdParty.exe

EDIT: Ok, en regardant de plus près, start semble interpréter le premier paramètre que le nouveau titre de la fenêtre si la cité. Donc, si vous devez citer le chemin d'accès à votre ThirdParty.exe vous devez fournir une chaîne de titre ainsi.

Exemples:

:: Title not needed:
start C:\ThirdParty.exe

:: Title needed
start "Third Party App" "C:\Program Files\Vendor\ThirdParty.exe"

27voto

jlenfers Points 41

Créer un .vbs le fichier avec ce code:

CreateObject("Wscript.Shell").Exécuter "your_batch.chauve-souris",0,True

Cette .vbs sera exécuté your_batch.bat cachés.

Fonctionne très bien pour moi.

10voto

QAZ Points 2544

Essayez ceci:

@echo off 
copy "C:\Remoting.config-Training" "C:\Remoting.config"
start C:\ThirdParty.exe
exit

10voto

mzuther Points 463

À l'aide de start fonctionne très bien, sauf si vous utilisez un langage de script. Heureusement, il y a un moyen de sortir pour Python - il suffit d'utiliser pythonw.exe au lieu de python.exe:

:: Title not needed:
start pythonw.exe application.py

Dans le cas où vous avez besoin de citations, faites ceci:

:: Title needed
start "Great Python App" pythonw.exe "C:\Program Files\Vendor\App\application.py"

8voto

Josy Points 49

Bon conseil. Il fonctionne avec les fichiers de commandes sont en cours d'exécution d'un programme java aussi.

start javaw -classpath "%CP%" main.Main

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X