start - Run Other Batch Files

Maintained on

The start command launches another program or batch file.

It is especially useful in batch files when you want to run something in a separate window asynchronously, wait for it to finish before moving on, or open a URL or an associated file.

Basic syntax of the start command

start <"title"> [/d <path>] [/i] [{/min | /max}] [{/low | /normal | /high | /realtime | /abovenormal | /belownormal}] [/wait] [/b] [command or program] [arguments]

By default, start moves on to the next line without waiting for the launched process to finish.

The first quoted string is treated as the title

start treats the first quoted string as the window title. When launching a program whose path contains spaces, put an empty title first, as in start "" "C:\My Scripts\job.cmd".

Basic usage

Launch another batch file asynchronously

caller.cmd
@echo off

echo Started caller.cmd.
start "" callee.cmd
echo Finished caller.cmd.
callee.cmd
@echo off

echo Started callee.cmd.
timeout /t 5 /nobreak > nul
echo Finished callee.cmd.
- □ ×
Command Prompt Icon
Command Prompt
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>caller.cmd
Started caller.cmd.
Finished caller.cmd.
C:\users\user>
- □ ×
Command Prompt Icon
Command Prompt
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>
Started callee.cmd.
Finished callee.cmd.
おすすめ書籍※ 広告を含む場合があります
中小企業経営者のためのRPA入門 RPA導入を成功させる方法

中小企業経営者のためのRPA入門 RPA導入を成功させる方法

60分でわかる! AIエージェント 超入門

60分でわかる! AIエージェント 超入門

コマンドラインの黒い画面が怖いんです。

コマンドラインの黒い画面が怖いんです。

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門

callee.cmd runs in a separate window, so caller.cmd can finish without waiting.

Output order is not guaranteed

With asynchronous execution, the order in which output appears may vary depending on the environment and timing. Do not assume a fixed order.

Run with arguments

start "" callee.cmd 1
start "" callee.cmd 2

callee.cmd can receive the arguments as %1, %2, and so on.

callee.cmd
@echo off

echo Started callee.cmd.
echo This is run number %1.
timeout /t 3 /nobreak > nul
echo Finished callee.cmd.

Launch a program whose path contains spaces

start "" "C:\My Scripts\daily backup.cmd"

This is where start trips people up most often. The first "" is the title, and the quoted string after it is the program to run.

Open a URL or an associated file

If you specify a URL or a document, it is opened with the associated application (for example, the default browser).

start "" https://example.com
start "" report.pdf

Commonly used options

OptionDescription
/waitWait for the launched program to finish
/bLaunch without creating a new window
/minLaunch minimized
/maxLaunch maximized
/d pathSet the working directory of the launched program
/low /high, etc.Set the priority of the process

/wait - wait for completion before continuing

start "" /wait installer.exe /S
echo This line runs after the installation finishes.

/b - launch without opening a new window

start "" /b tool.exe --quiet

With /b, no new command prompt window is opened. Non-GUI programs write their output to the same window as the caller.

call may be a better fit for running batch files in order

If you only want to call another batch file in the same window and continue after it finishes, call usually matches your intent better than start /wait.

Difference from the call command

CommandMain use
startAsynchronous execution, launching a new window, opening URLs or associated files
callCall another batch file and continue in the same window after it finishes

Exercises

Practice Problem

Which command launches another batch file asynchronously and moves on to the next step without waiting for it to finish?

Choose one answer.

  1. start "" sub.cmd
  2. start "" /wait sub.cmd
  3. call sub.cmd

Practice Problem

Which is the correct way to run a batch file whose path contains spaces with start?

Choose one answer.

  1. start "C:\My Scripts\job.cmd"
  2. start "" "C:\My Scripts\job.cmd"
  3. start /d "C:\My Scripts\job.cmd"
#Command Prompt #Batch File #start #Asynchronous Execution #Commands