この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:5
ページ更新者:atom
更新日時:2026-06-11 07:10:02

タイトル: start プログラムの実行
SEOタイトル: Windows start コマンド 完全ガイド(別ウィンドウ起動 / URL / フォルダ / /wait / /b / 優先度オプション)

この記事の要点
  • start は Windows コマンドプロンプトの内部コマンドで、新しいウィンドウを開いてプログラム・ファイル・URL・フォルダを起動する
  • 基本構文: start ["タイトル"] [オプション] コマンド [引数]
  • ファイルパス / URL を指定すると、Windows の関連付けで開かれる(例: start https://example.com
  • /wait で起動したプロセスの終了を待ち、/b で新しいウィンドウを開かずに同じウィンドウで実行
  • PowerShell の Start-Process とは別物。バッチファイルや cmd.exe 上で使うのが基本

start コマンドとは

start は Windows の cmd.exe(コマンドプロンプト)に組み込まれている内部コマンドで、新しいウィンドウを開いて指定したプログラムやファイル、フォルダ、URL を起動するためのものです。実行ファイルへのパスを直接打って実行する場合と異なり、start で起動したプロセスは呼び出し元と独立し、cmd を閉じても実行が続きます。

基本構文

start ["タイトル"] [オプション] コマンド [引数...]

第 1 引数の "タイトル" は新しいウィンドウのタイトルバーに表示される文字列で、省略可能です。ただし引数にダブルクォーテーションで囲まれた文字列を与えるときは、最初のクォート文字列がタイトルとして解釈されるため、ダミーのタイトルを明示する書き方が安全です。

:: パスにスペースが含まれる EXE を起動する例(タイトル空文字を入れて回避)
start "" "C:\Program Files\App\app.exe" --opt value

よく使う例

目的コマンド
メモ帳を別ウィンドウで開くstart notepad
特定ファイルを関連付けで開くstart memo.txt
既定ブラウザで URL を開くstart https://example.com
エクスプローラでフォルダを開くstart . / start "" "C:\work"
EXE を引数付きで起動start "" "C:\bin\app.exe" --port 8080
cmd を新規に起動start cmd
管理者として cmd を起動(PowerShell 経由)powershell -Command "Start-Process cmd -Verb RunAs"

主なオプション

オプション意味
/wait起動したプロセスが終了するまで呼び出し元を待たせる
/b新しいウィンドウを開かず、同じコンソールでバックグラウンド実行
/min / /max最小化 / 最大化状態で起動
/d パス作業ディレクトリを指定して起動
/i起動環境を cmd.exe 起動時の環境にリセット
/low / /normal / /high / /realtimeプロセスの優先度を指定
/affinity 16進使用 CPU コアのアフィニティマスク
/node NNUMA ノードを指定

バッチファイルでの典型用途

並列で複数プロセスを立ち上げる

@echo off
:: 3 つのワーカーを別ウィンドウで起動
start "worker1" worker.exe --id 1
start "worker2" worker.exe --id 2
start "worker3" worker.exe --id 3
echo all workers launched.

終了を待ってから次へ進む

@echo off
:: インストーラ終了を待ってから設定を流し込む
start /wait setup.exe /silent
xcopy /Y config\*.ini "C:\App\config\"
echo done.

同じウィンドウでバックグラウンド実行

@echo off
:: 新ウィンドウを開かず、cmd 内でログ出力を流す
start /b ping -t 8.8.8.8 > ping.log

start でできない / 注意すべきこと

状況挙動・対処
EXE のパスにスペースがある第 1 引数が「タイトル」と誤解されるので start "" "C:\Program Files\..."
引数が cmd のメタ文字(& | 等)引数側もダブルクォートで囲む
PowerShell で start と打ったPowerShell では startStart-Process のエイリアス。挙動が cmd 版と一部異なる
管理者権限が必要cmd の start には UAC 昇格オプションがない。powershell Start-Process -Verb RunAs を使う
関連付けがない拡張子「ファイルを開くアプリの選択」ダイアログが出る

PowerShell の Start-Process との対応

cmd の startPowerShell の Start-Process
start notepadStart-Process notepad
start /wait setup.exeStart-Process setup.exe -Wait
start "" "C:\app.exe" -a -bStart-Process "C:\app.exe" -ArgumentList "-a","-b"
(昇格は不可)Start-Process notepad -Verb RunAs

FAQ

Q: start の戻り値(ERRORLEVEL)は?
A: /wait なしの場合、start 自体は起動に成功すれば 0 を返します。起動したプログラムの終了コードを取りたいなら /wait 必須です。

Q: 新ウィンドウを表示せず実行したい
A: /b で同ウィンドウ実行。完全に非表示で常駐させたいなら VBScriptpowershell -WindowStyle Hidden、タスクスケジューラ登録などが候補。

Q: 環境変数 PATH に通っていない EXE は?
A: フルパス指定が必要です。start "" "C:\tools\foo.exe" のように。

関連

  • コマンド一覧 — 親カテゴリ
  • cmd.exe — コマンドプロンプト本体
  • PowerShell Start-Process — 機能強化版
  • タスクスケジューラ — 定時実行
  • 関連付け(assoc / ftype)