Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

How can I execute a windows command line in the background, without it interacting with the active user?

share|improve this question
Can you specify what you want to do? Do you want to perform a command on the command line in background or do you want to perform the whole command line in background, so it is unvisible from the desktop? –  omnibrain Oct 12 '10 at 6:20
i need two cane perform a command on the command line in background or do you want to perform the whole command line in background –  Mohammad AL-Rawabdeh Oct 12 '10 at 6:41

7 Answers 7

up vote 3 down vote accepted

Your question is pretty vague, but there is a post on ServerFault which may contain the information you need. The answer there describes how to run a batch file window hidden:

You could run it silently using a Windows Script file instead. The Run Method allows you running a script in invisible mode. Create a .vbs file like this one

Dim WinScriptHost
Set WinScriptHost = CreateObject("WScript.Shell")
WinScriptHost.Run Chr(34) & "C:\Scheduled Jobs\mybat.bat" & Chr(34), 0
Set WinScriptHost = Nothing

and schedule it. The second argument in this example sets the window style. 0 means "hide the window."

share|improve this answer

This is a little late but I just ran across this question while searching for the answer myself and I found this:

START /B program

which, on Windows, is the closest to the Linux command:

program &

From the console HELP system:


Starts a separate window to run a specified program or command.

START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
      [/NODE <NUMA node>] [/AFFINITY <hex affinity mask>] [/WAIT] [/B]
      [command/program] [parameters]

    "title"     Title to display in window title bar.
    path        Starting directory.
    B           Start application without creating a new window. The
                application has ^C handling ignored. Unless the application
                enables ^C processing, ^Break is the only way to interrupt
                the application.

One problem I saw with it is that you have more than one program writing to the console window, it gets a little confusing and jumbled.

To make it not interact with the user, you can redirect the output to a file:

START /B program > somefile.txt
share|improve this answer
I like this answer best because it doesn't open another command window –  wisbucky Jan 3 '14 at 16:17

I suspect you mean: Run something in the background and get the command line back immediately with the launched program continuing.

START "" program

Which is the Unix equivalent of

program &
share|improve this answer
what is the fg equivalent? Can we close the command prompt and the porgram will still run? –  Nenotlep Oct 15 '14 at 11:34
Also, I want to run a program in command prompt and return to it from time to time, like in screen - is that doable with this? I need to be able to close the command prompt but keep the running program usable. –  Nenotlep Oct 15 '14 at 11:36
START /MIN program 

the above one is pretty closer with its Unix counterpart program &

share|improve this answer

If you want the command-line program to run without the user even knowing about it, define it as a Windows Service and it will run on a schedule.

share|improve this answer
how do you do that? –  barlop Sep 30 '11 at 19:26
Alternatively you can make it a scheduled task - Control Panel->Administrative Tools->Scheduled Tasks or use the schtasks command in Windows XP and above (warning: schtasks is complicated). –  ultrasawblade Apr 6 '12 at 19:02

An example :

start /MIN /B grep -noid include *.c 1>log.txt 2>1&

Starts grep in backgound redirect both stdout && stderr to log.txt

share|improve this answer
This answer has already been given multiple times and was explained in great detail. Does your answer contribute anything that has not yet been said? –  Michael K Jan 28 '14 at 14:33
@echo off&color 4a&title %~n0&AT>NUL                                                                 
IF %ERRORLEVEL% EQU 0 (                                                                            
    goto 2                                                                                           
) ELSE (                                                                                            
if not "%minimized%"=="" goto 1                                                             
set minimized=true & start /min cmd /C "%~dpnx0" & cls & exit                                   
wmic process where name="cmd.exe" CALL setpriority "realtime">nul                         
echo set shell=CreateObject("Shell.Application") > %~n0.vbs                                 
echo shell.ShellExecute "%~dpnx0",,"%CD%", "runas", 1 >> %~n0.vbs                                  
echo set shell=nothing >> %~n0.vbs&start %~n0.vbs /realtime                                      
timeout 1 /NOBREAK>nul& del /Q %~n0.vbs&cls&exit                                                  
echo %~dpnx0 frackin admin mode look up&wmic process where name="cmd.exe" CALL setpriority "realtime"&timeout 3 /NOBREAK>nul
echo x=msgbox("end of line" ,48, "%~n0") > %~n0.vbs&start %~n0.vbs /realtime
timeout 1 /NOBREAK>nul& del /Q %~n0.vbs&cls&exit
share|improve this answer
needs further editing i like grouping commands cls&echo hi&pause&ect –  strange Oct 9 '14 at 2:49
Include in your answer an explanation of what the code does. –  Kevin Panko Oct 9 '14 at 3:18

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.