How to Run .BAT Files Invisibly, Without Displaying the Command Prompt Window

Batch files (.BAT) and Windows NT Command Script (.CMD) files run in console window when double-clicked. This means that the Command Prompt window will be visible until the .BAT/.CMD file execution is complete. To make .BAT or .CMD file execution less intrusive, you can configure it to run minimized. Or if the .BAT or .CMD file does not require user input during run time, you can launch it in invisible mode using a Script. Both options are discussed below.

Running .BAT or .CMD files in minimized mode

1. Create a shortcut to the .BAT or .CMD file. To do so, right click on the file, click Send To, Desktop (create shortcut)

2. Right click on the shortcut and choose Properties

3. In the Run: drop down, choose Minimized

4. Click OK

5. Double-click the shortcut to run the batch file in a minimized window state.

Running .BAT or .CMD files in invisible mode

Windows Script Host’s Run Method allows you run a program or script in invisible mode.

Sample Code

Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) & "C:\Batch Files\syncfiles.bat" & Chr(34), 0
Set WshShell = Nothing

Copy the lines above to Notepad and save the file with .VBS extension. Edit the .BAT file name and path accordingly, and save the file. Double-click the .VBS file to run it.

(Ref: Run Method. Setting intWindowStyle parameter to 0 hides the window)


Copyright © 2008 Ramesh Srinivasan. All rights reserved.

RELATED POSTS


Add to Google

7 Responses to “How to Run .BAT Files Invisibly, Without Displaying the Command Prompt Window”

  1. 7
    Mike Says:

    Thank you so much, I been trying to automate (and schedule) disk defragger and with this script and a ( defrag C: -f ) batch file I can be online and defrag my disk drive with out any annoying UI windows popping up :)

    Thank you!!

  2. 6
    Ramesh Srinivasan Says:

    @Alva: It works fine here. I used the wait.exe tool from (http://www.wcscnet.com/FTP/Freeware/Wait100.zip). Waits correctly for the specified time (in seconds) and carries out the batch command.

  3. 5
    Alva Says:

    I’ve tried the second option (run batch file by running .vbs file)
    works fine, but in my originally bat file i call an exe file which slows the process(wait.exe, this file works as a clock so u can delay actions in seconds).
    It seems that the vbs script doesn’t consider this file!

    need a little help!!

  4. 4
    ju.c Says:

    I like this the best:
    Hidden Start - run apps in the background
    http://www.ntwind.com/software/utilities/hstart.html

  5. 3
    AutoHotkey Says:

    AutoHotkey can run things hidden too…
    Run, somebat.bat, , Hide
    …or…
    Run, %1%, , Hide

    …put the 2nd example in RunHidden.ahk…then add a Run Hidden option to the .bat right-click menu…

    Windows Registry Editor Version 5.00

    [HKEY_CLASSES_ROOT\batfile\Shell\RunHidden]
    @=”Run &Hidden”

    [HKEY_CLASSES_ROOT\batfile\Shell\RunHidden\Command]
    @=”\”C:\\Program Files\\AutoHotkey\\AutoHotkey.exe\” \”C:\\Program Files\\AutoHotkey\\RunHidden.ahk\” \”%1\” %*”

    …I didn’t test that, but I hope you get the idea anyway…also I don’t know if this blog supports…
    [code]test[/code]
    …tags…so I didn’t use them…& no preview…

  6. 2
    Danny Says:

    Thanks for the tip! Even on Vista I find uses for batch files (such as manually refreshing my network connection).

  7. 1
    Peter van Dam Says:

    Wow, thanks! I always have two command prompts everythime I launch this machine to make my virtual hard drives (SUBST) working. (One for admin level, other standard level). I’m not seeing them all the time, cause the tast scheduler makes it fast already, but when it does, it looks like my system is doing crazy stuff for others. Now I can hide it totally because of this script!

    Many thanks!

Leave a Reply