コマンド別解説

start(バッチファイルやサブルーチンの呼び出し)

>>startのオプション簡易解説へ

目次

その他の関連しそうな記事

 

「start」コマンドの使い方

「start」コマンドはバッチファイルやアプリケーションを呼び出すコマンドです。使い方は、引数に呼び出したいバッチファイルやアプリケーションを指定します。

 

同じバッチファイルやアプリケーションを呼び出すコマンドに「call」コマンドがあります。「call」コマンドとの違いは、「call」コマンドは呼び出したバッチファイルの処理やアプリケーションの終了を待つのに対して、「start」コマンドは呼び出した後、その終了を待たずにプログラムを進めます。詳しくは、「バッチファイルからバッチファイルを呼び出す -やりたいことから検索-」を参照して下さい。

「start」コマンドで、「sub.bat」ファイルを呼び出すバッチファイルを作ってみましょう。以下のようなバッチファイル「main.bat」を作ります。

4行目で「start」コマンドによりバッチファイル「sub.bat」を呼び出しています。

また、最後の行には最後の行に達したことを表示するために「echo」コマンドで「コード終了」というメッセージを出力します。

 

一方、呼び出す「sub.bat」ファイルは以下のようにします。

3行目で「sub.batの中です。」と表示しています。6行目で一時停止し、バッチファイルを勝手に終了しないようにします。

 

では、「main.bat」を実行してみます。以下のコマンドをコマンドプロンプトに打ち込みます。

実行後、別窓でコマンドプロンプトが立ち上がり、そこで「sub.bat」が実行されます。別窓に「sub.batの中です。」と表示されています。

start(バッチファイルやサブルーチンの呼び出し) 「sub.bat」の実行内容

そして、「pause」コマンドで一時停止しています。つまり、「sub.bat」は終了していません。

では、元の「main.bat」を実行したコマンドプロンプト画面を見てみましょう。

「main.bat」の実行結果

「コード終了」が表示されていると思います。つまり、「sub.bat」がまだ終了していないのに、「main.bat」の処理は先に進みコードが終了したということです。このように、「start」コマンドは呼び出した処理の終了を待ちません

 

呼び出した処理の終了を待ちたい場合は、「/wait」オプションを指定するか「call」コマンドを使用します。「call」コマンドについては、「call(バッチファイルやサブルーチンの呼び出し) -コマンド別解説-」を参照下さい。

「main.bat」を以下のように変更しましょう(main_wait.bat)。

以下、実行後のメインコマンドプロンプトと別窓で開いたコマンドプロンプトです。

【main_wait.bat】
start(バッチファイルやサブルーチンの呼び出し) 「/wait」オプションで処理の終了を待つ

【sub.bat】
start(バッチファイルやサブルーチンの呼び出し) 「sub.bat」の実行内容

今度は、「main_wait.bat」の処理が先へ進まず、待機しているのが分かります。別窓のコマンドプロンプトでキーを押して先へ進めると、「sub.bat」の処理が終了し、その後「main_wait.bat」の処理も先へ進みます。

 

新規ウィンドウを最大化・最小化、もしくは開かずに実行する

「start」コマンドで開く新規のウィンドウのサイズを指定して実行するオプションがいくつか存在します。

ウィンドウを最大化して実行する場合は「/max」オプション、逆に最小化して実行するには「/min」オプションを指定します。

最小化というのは、ウィンドウは現れず画面下部のクリップボードに収まっている状態です。クリップボードから選択すれば、最小化したウィンドウを表示することができます。

 

新しいウィンドウは開かずに起動するには、「/b」オプションを指定します。「/b」オプションを指定すると、メインのバッチファイルを実行したウィンドウ上に処理が表示されます。

同時にメインプログラムの処理も同じウィンドウに表示されるため、二つのバッチファイルの内容が同じコマンドプロンプト上に表示されることになります。

以下、「main.bat」の「start」コマンドに「/b」オプションを指定したバッチファイルと実行結果です(main_b.bat)。

以下、実行結果です。

start(バッチファイルやサブルーチンの呼び出し) 同じウィンドウで処理を実行

「sub.bat」内の「pause」コマンドで停止していますが、「main_b.bat」は既に終わっていることが「コード終了」の表示から分かります。

「/b」オプションは呼び出した処理の終了を待ってくれるわけではないことに注意して下さい。

 

新規ウィンドウのタイトルを設定する

新規で開くウィンドウのタイトルを設定するには、「”[タイトル]”」を指定します。

「main.bat」の「start」コマンドに「”[タイトル]”」を指定して実行してみます(main_title.bat)。ここでは、「”startコマンドの使い方”」としました。

以下、実行結果です。

start(バッチファイルやサブルーチンの呼び出し)タイトルを指定して実行

新規ウィンドウの左上のタイトルが指定したもの変わっています。

 

プログラムを実行するフォルダを指定する

別のフォルダに存在するバッチファイルを実行したい場合は、「/d」オプションでパスを指定します。

「main.bat」で「tmp」フォルダ内に存在する「sub.bat」を実行したい場合は、

となります。

 

Windowsバッチファイル初心者へ向けた入門書を作成しました


Windowsバッチファイル初心者の方へ向けた入門書(PDF)を作成しました。


・初めてWindowsバッチファイルを勉強してみようと思っている方

・使ったことはあるが一から基礎を学び直したい方


へ向けて丁寧な解説を行っています。


「全くプログラムを知らない方でも、この入門書を読んだ後には、Windowsバッチファイルの中級者レベルになれるように」をコンセプトに執筆したものです。


この本を読めば、バッチファイルを使ったファイルやフォルダの操作に関しては一通りのことができるようになります。そうなればもう十分中級者と呼べるレベルですので、あとは自分のやりたいことを実現しようとする中で徐々に知識を蓄えていくだけですぐに上級者へなれるでしょう。


詳しくみる

関連ページ

コメント

コメントを残す