Command Prompt: run scripts in background (equivalent of Linux's &/bg)

In Linux you can do this:

$ php blah.php > some.log &

to run blah.php in the background. This is the same as Ctrl+z then the bg command.

Is there an equivalent of either/both for the Windows Command Prompt?


Windows does have a similar functionality to Linux's &, to launch processes such that they don't take over your console. Instead of a command-line flag, though, it's a command prefix.

Simply run your command with start in front of it, as such: C:\> start myprog.exe

It also works with commands, not just executables: C:\> start dir

This will start a new console window and run the command inside it.

If you don't want to have a new console window come up when running the command, use the /B switch, like this: C:\> start /B myprog.exe

There are several other options you can specify to configure how to run the command. You can figure them out by reading the help for start by using start /?.


This can run a file in the background from the command prompt or a batch file

@Echo off
Echo Set WshShell = CreateObject("WScript.Shell")   >>%temp%\ghost.vbs
Echo WshShell.Run chr(34) ^& "MyFile" ^& Chr(34), 0 >>%temp%\ghost.vbs
Echo Set WshShell = Nothing                         >>%temp%\ghost.vbs
start %temp%\ghost.vbs
timeout /t 1 >nul
del %temp%\ghost.vbs

Now replace MyFile with the file you wish to run in the background.