Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Hide Command Window of .BAT file that Executes Another .EXE File

This is a batch file in Windows.

Here is my .bat file

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

This works fine except the .bat file leaves the command window open the whole time the "ThirdParty" application is running.
I need the command window to close.

I would use the short-cut for the application but I must be able to run this copy command first (it actually changes which data base and server to use for the application).

The ThirdParty application does not allow the user to change the source of the db or the application server.

We're doing this to allow users to change from a test environment to the production environment.

like image 943
JeffO Avatar asked Feb 03 '09 14:02

JeffO


People also ask

What does @echo off do in a batch file?

Example# @echo off prevents the prompt and contents of the batch file from being displayed, so that only the output is visible. The @ makes the output of the echo off command hidden as well.


2 Answers

Using start works for me:

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

EDIT: Ok, looking more closely, start seems to interpret the first parameter as the new window title if quoted. So, if you need to quote the path to your ThirdParty.exe you must supply a title string as well.

Examples:

:: Title not needed: start C:\ThirdParty.exe  :: Title needed start "Third Party App" "C:\Program Files\Vendor\ThirdParty.exe" 
like image 164
cg. Avatar answered Sep 20 '22 02:09

cg.


Create a .vbs file with this code:

CreateObject("Wscript.Shell").Run "your_batch.bat",0,True 

This .vbs will run your_batch.bat hidden.

Works fine for me.

like image 31
jlenfers Avatar answered Sep 21 '22 02:09

jlenfers