2

I have this batch file and it makes a batch file in the startup folder that opens a specific URL to a website. My problem is that whenever it runs it also leaves an empty command prompt open.

The batch script runs fine and it opens the website URL with the web browser, but it just leaves an additional CMD window open that I'd like not to occur. Note: I am not asking how to run a CMD window in the background.

Here's the code:

@echo off

cd C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

echo @echo off > startup.bat

echo start (link) >> startup.bat

start startup.bat

Could someone help point out what I could change to resolve this issue?

3 Answers3

2

You could use CALL and add the /MIN switch with the START command to keep it more hidden and ensure the CMD window disappears when running per the way you have the logic setup in your above example.

I made some quick adjustments and added this logic for you to have an exact example of what I used and confirmed works as you explain you need it to work.

Example Script

@echo off

CD /D C:\Users\%username%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

echo @echo off > startup.bat
echo START /MIN "" "https://google.com">> startup.bat
echo EXIT /B>> startup.bat

CALL startup.bat
EXIT /B

Further Resources

1

Please take a look at the link below:

How to run a batch file without launching a "command window"?

If the link is inaccessible, one answer states to create a vbs script that contains the following:

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

Where "your_batch_file.bat" is the name of your batch file.

Save the above as a visual basic script, e.g.: example.vbs and run it.

kruschk
  • 320
  • 1
    Hi Kruschk, if you find a link within the site that answers the question, you should flag the question as a duplicate instead of posting the link and content as an entirely separate answer. – Canadian Luke Aug 09 '16 at 03:15
  • Hey Luke, how do I go about flagging as duplicate? I only see options relevant to spam or low-quality. I just wanted to help the guy out because I can't comment on posts that aren't my own yet! – kruschk Aug 09 '16 at 03:17
  • Clicking "Flag" just beneath the question, and choosing the "Duplicate" option. Because I already pasted the link in, you can click on the question from the list, and click Flag. – Canadian Luke Aug 09 '16 at 03:20
  • I only have the options to flag as "spam", "rude or abusive", "very low quality", or "in need of moderator intervention"! Even after googling around I can't seem to find it... – kruschk Aug 09 '16 at 03:26
  • Ok don't worry about it then – Canadian Luke Aug 09 '16 at 03:28
  • This isn't what I was talking about. It was opening a new window for no reason, I didn't want to run it invisibly. Not a duplicate question. – INTENSEFIRE Aug 09 '16 at 05:25
0

here is why and what to do:

by default START will run the equivalent of CMD /K which opens a second command window and leaves it open. In most cases you will want the batch script to complete and then just close it's CMD console to resume the initial batch script. This can be done by explicitly running CMD /C ...

Echo Starting
START /wait "demo" CMD /c demoscript.cmd
Echo Done

source