Execute Batch File without Command line visible

2020-03-01 18:02发布

问题:

I have to run a batch file without showing the command line but the Command line keeps on popping up. This is my code:

@echo off
:SAMPLE
cd /d C:
md %RANDOM%
cd /d D:
md %RANDOM%
cd /d E:
md %RANDOM%
goto SAMPLE

回答1:

Solution-1:

Save your code in a batch file lets say My.bat

Create a VBScript file lets say Master.vbs and call your My.bat file within it.

Lets assume your batch file is at C:\Test\My.bat then:

Master.vbs:

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

It'll run your batch file in invisible/hidden mode.

Solution-2:

If at all possible, modify the batch file to run whatever program with the start command. By default, start returns immediately without waiting for the program to exit, so the batch file will continue to run and, presumably, exit immediately. Couple that with modifying your shortcut to run the batch file minimized, and you’ll only see the taskbar flash without even seeing a window onscreen.



回答2:

The following sample code works

start cmd /c "some command && exit 0"

The trick is => && exit 0



回答3:

you can use the redirect in the following way:

@echo off
:SAMPLE
cd /d C:
md %RANDOM% >nul 2>&1
cd /d D:
md %RANDOM% >nul 2>&1
cd /d E:
md %RANDOM% >nul 2>&1
goto SAMPLE

Got this from: Suppress command line output