複数アプリ・プログラムを1ショートカット起動方法(2選)

プログラム

スポンサーリンク

Windowsで複数のアプリ・プログラムを1つのショートカットで起動する方法(2選)

複数のアプリケーションやプログラムをひとつのショートカットから起動したい、もしくは複数のアプリケーションやプログラムの起動・実行を1つにまとめたいないんてことがあります。

毎日起動するアプリケーションやプログラムをすべて1つのショートカットで実行させることが出来るので、細やかな時短にも利用できます。

また、業務用プログラムの開発なんかをやっていると、複数の業務アプリとバッチを連続して、もしくはまとめて起動したい、そのオペレーションをユーザでも操作可能にしたいなんてときにこの方法を知っていると便利です。

そんなわけで、記事として皆さんにお伝えします。

結論

下記要領で記載すれば、1つのショートカットで複数アプリの起動ができます。

どちらでも可能なので、好みにもよると思いますが、個人的な使い分けとしては、起動したいものが多い場合やメンテナンスが多い場合は下記2.を使い、それ以外は下記1.でよいかと思います。

1.ショートカットを作成し、下記の要領で記載
cmd.exe /c start “” “[Application1]” & start “” “[Application2]”
2.バッチを作成し、下記の要領で記載
start “” “[Application1]”
start “” “[Application2]”

複数のアプリ・プログラムを1つのショートカットで起動する方法

以下の例では、メモ帳と電卓を起動しますが、起動したいプログラムに書き換えてご利用ください。
・メモ帳(C:\Windows\notepad.exe)
・電卓(C:\Windows\System32\calc.exe)

1.ショートカットで複数起動させる方法

この例では、デスクトップに[test]というショートカットを作成します。
1.デスクトップを右クリックし、新規作成>ショートカット を選択します。

2.「項目の場所を入力してください」の入力枠に下記を入力し「次へ」を押下します。

下記を改行せず1行で記載します。
cmd.exe /c start “” “C:\Windows\notepad.exe” & start “” “C:\Windows\System32\calc.exe”
また、文字列の後ろに「& start “” “[Application]”」の形式で追記すれば複数追加できます。

3.「このショートカットの名前を入力してください」の入力枠にショートカットの名前を入力し「完了」を押下します。
この例では「test」と入力しています。

※デスクトップに作成した[test]を確認後、右クリックし、プロパティで表示するとこんな表示になります。

4.デスクトップに作成した[test]をダブルクリックすると、メモ帳と電卓が起動します。

2.バッチで複数起動させる方法

この例ではデスクトップに[test.bat]というバッチを作成します。
1.デスクトップを右クリックし、新規作成>メモ帳 を選択します。

2.上記1.のメモ帳を開き、下記を記載した後、メモ帳を保存します。

下記のように起動したいプログラムを1行ずつ記載します。
start “” “C:\Windows\notepad.exe”
start “” “C:\Windows\System32\calc.exe”
プログラムを追加したい場合は、3行目4行目…と複数追記します。


3.保存したメモ帳の名前を[test.bat]に変更します。

4.拡張子の変更メッセージが表示された場合は「はい」を押下します。

5.作成した[test.bat]をダブルクリックすると、メモ帳と電卓が起動します。

利用しているコマンドについて

ここでは、上記で利用しているコマンドのヘルプを記載しておきます。
興味のある方はご参考ください。


startコマンド

指定されたプログラムまたはコマンドを実行するためにウィンドウを開きます。

START [“タイトル”] [/D パス] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
[/NODE ] [/AFFINITY <16 進数の関係マスク>] [/WAIT] [/B]
[コマンド/プログラム] [パラメーター]

“タイトル” ウィンドウのタイトル バーに表示するタイトル。
パス 開始するディレクトリ。
B 新しいウィンドウを作成せずにアプリケーションを起動します。
アプリケーションは Ctrl + C を無視します。
アプリケーションで Ctr l+ C を有効にしていない場合、
Ctrl + Break がアプリケーションを中断する唯一の方法です。
I 新しい環境は、現在の環境ではなく、cmd.exe に渡された元の環境に
なります。
MIN ウィンドウを最小化の状態で起動します。
MAX ウィンドウを最大表示の状態で起動します。
SEPARATE 16 ビットの Windows プログラムを別メモリ領域で起動します。
SHARED 16 ビットの Windows プログラムを共有メモリ領域で起動します。
LOW IDLE 優先度クラスでアプリケーションを起動します。
NORMAL NORMAL 優先度クラスでアプリケーションを起動します。
HIGH HIGH 優先度クラスでアプリケーションを起動します。
REALTIME REALTIME 優先度クラスでアプリケーションを起動します。
ABOVENORMAL ABOVENORMAL 優先度クラスでアプリケーションを起動します。
BELOWNORMAL BELOWNORMAL 優先度クラスでアプリケーションを起動します。
NODE 優先 NUMA (Non-Uniform Memory Architecture) ノードを 10 進の
整数で指定します。
AFFINITY プロセッサの関係マスクを 16 進数で指定します。
プロセスはこれらのプロセッサで実行されるように制限されます。

/AFFINITY と /NODE を組み合わせると、関係マスクは異なって
解釈されます。NUMA ノードのプロセッサ マスクを右にシフトして
ビット 0 で始まるかのように関係マスクを指定します。
プロセスは、指定した関係マスクと NUMA ノードの間で共通する
プロセッサ上で実行されるように制限されます。共通するプロセッサ
がない場合は、プロセスは指定した NUMA ノード上で実行される
ように制限されます。
WAIT アプリケーションを起動し、終了するまで待ちます。
コマンド/プログラム
内部コマンドまたはバッチ ファイルの場合、コマンド プロセッサ
は cmd.exe の /K オプションを使用して実行されます。
これはコマンドの後でもウィンドウが残ることを意味
します。

内部コマンドまたはバッチ ファイルではない場合、そのプログラム
はウィンドウ モードのアプリケーションまたはコンソール
アプリケーションとして動作します。

パラメーター
コマンド/プログラムに渡すパラメーターです。

注意: SEPARATE および SHARED オプションは 64 ビット プラットフォームでは
サポートされません。

/NODE を指定すると、NUMA システム上のメモリ局所性を利用する方法でプロセスが
作成されるようにできます。たとえば、共有メモリ経由で互いに頻繁に通信する
2 つのプロセスを、メモリ待ち時間を最小限に抑えるために同じ優先 NUMA ノードを
共有するように作成できます。これらのプロセスは可能であれば同じ NUMA ノードから
メモリを割り当て、指定したノード外のプロセッサ上で実行されることもあります。

start /NODE 1 application1.exe
start /NODE 1 application2.exe

これら 2 つのプロセスは、さらに、同じ NUMA ノード内の特定のプロセッサ上で
実行されるように制限できます。次の例では、application1 がノードの低順位の
2 つのプロセッサ上で実行されるのに対し、application2 はノードの次の 2 つの
プロセッサ上で実行されます。この例では、指定したノードに少なくとも 4 つの
論理プロセッサがあることを想定しています。ノード番号は、関係マスクを変更しなく
ても、そのコンピューターの任意の有効なノード番号に変更できることに注意して
ください。

start /NODE 1 /AFFINITY 0x3 application1.exe
start /NODE 1 /AFFINITY 0xc application2.exe

コマンド拡張機能を有効にすると、コマンド ラインまたは START コマンドに
よる外部コマンドの起動は、次のように変更されます:

非実行可能ファイルは、ファイル名をコマンドとして入力することによって、
ファイルの関連付けを使って開くことができます (例: WORD.DOC は .DOC
ファイル拡張子に関連付けられているアプリケーションを起動します)。
コマンド スクリプト内でファイルの関連付けを作成する方法については、
ASSOC と FTYPE コマンドを参照してください。

32 ビット GUI アプリケーションを実行する場合、CMD.EXE は、
アプリケーションの終了を待たずにコマンド プロンプトに戻ります。
コマンド スクリプト内で実行する場合は、
この動作は発生しません。

最初のトークンが拡張子やパス修飾子を持たない文字列 “CMD” であるコマンド
ラインを実行する場合、”CMD” が COMSPEC 変数の値で
置き換えられます。
これにより現在のディレクトリの CMD.EXE が使われないようにします。

最初のトークンが拡張子を含まないコマンド ラインを実行する場合、CMD.EXE
は、PATHEXT 環境変数の値を使って拡張子の種類と順序を判断します。
PATHEXT 変数の既定値は、次のとおりです:

.COM;.EXE;.BAT;.CMD

この構文は PATH 変数と同じであり、各要素はセミコロンで区切られて
いることに注意してください。

実行可能なファイルを検索するときにどの拡張子でも一致するファイルが見つ
からない場合は、拡張子なしの名前がディレクトリ名と一致するかどうかを
調べます。
一致する場合は、START コマンドがそのパスでエクスプローラーを起動
します。コマンド ラインから実行した場合は、そのパスに対する CD /D の実
行と同じになります。

cmdコマンド

Windows コマンド インタープリターの新しいインスタンスを開始します。

CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]

[[/S] [/C | /K] 文字列]

/C “文字列” に指定されたコマンドを実行した後、終了します。
/K “文字列” に指定されたコマンドを実行しますが、終了しません。
/S /C または /K の後の文字列の扱いを変更します
(以下の説明を参照してください)。
/Q エコーをオフにします。
/D レジストリからの AutoRun コマンドの実行を無効にします
(下記を参照してください)。
/A 内部コマンドの出力結果を ANSI でパイプまたはファイルに出力します。
/U 内部コマンドの出力結果を Unicode でパイプまたはファイルに出力します。
/T:fg 前景色および背景色を設定します (詳細は COLOR /? を参照してください)。
/E:ON コマンド拡張機能を有効にします (以下の説明を参照してください)。
/E:OFF コマンド拡張機能を無効にします (以下の説明を参照してください)。
/F:ON ファイル名およびディレクトリ名補完文字を有効にします
(以下の説明を参照してください)。
/F:OFF ファイルおよびディレクトリ名補完文字を無効にします
(以下の説明を参照してください)。
/V:ON 区切り文字として ! を使って遅延環境変数の展開を有効にします。
たとえば、/V:ON とすると、!var! は、実行時に変数 var を展開します。
var 構文は、FOR ループ中とは違い、入力時に変数を展開します。
/V:OFF 遅延環境展開を無効にします。

コマンド セパレーター ‘&&’ で区切られた複数のコマンドが引用符で囲まれている場合
は、”文字列” として指定されます。また互換性の理由から /X と /E:ON、/Y と
/E:OFF、および /R と /C は同じです。その他のスイッチは無視されます。

/C または /K が指定されている場合、スイッチの後の残りのコマンド ラインが
コマンド ラインとして処理されます。次のルールが引用符 (“) の処理に使われます:

1. 次のすべての条件に一致する場合、コマンド ラインの引用符が有効になり
ます:

– /S スイッチがない
– 引用符が 1 組ある
– 引用符の中に特殊文字がない
(特殊文字は &<>()@^| です)
– 引用符の中に 1 つ以上のスペースがある
– 引用符の中の文字列が、実行可能ファイルの名前である

2. 最初の文字が引用符であるにも関わらず上の条件に一致しない場合は、最初
の引用符とコマンド ラインの最後の引用符が削除され、最後の引用符の後
のテキストが有効になります。

コマンド ラインで /D が指定されなかった場合は、CMD.EXE の開始時に次の REG_SZ
または REG_EXPAND_SZ レジストリ変数が検索されます。次のレジストリ変数の両方
またはどちらかが存在する場合、それらを最初に実行します。

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun

および/または

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun

既定では、コマンド拡張機能は有効です。拡張機能を無効にして CMD.EXE を
起動するには、/E:OFF スイッチを使用します。コンピューターまたは
ユーザー ログオン セッションで起動される CMD.EXE コマンド
すべてに対して拡張機能を有効または無効にするには、REGEDIT.EXE を使って
レジストリにある次の REG_DWORD 値を設定します。コンピューターに対しては、

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions

に 0x1 を設定すると有効になり、0x0 を設定すると無効になります。
ログオン セッションに対しては、

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions

に 0x1 を設定すると有効になり、0x0 を設定すると無効になります。
ユーザー固有の設定は、コンピューターの設定より優先されます。
コマンド ライン スイッチは、レジストリの設定より優先されます。

バッチ ファイルでは、SETLOCAL ENABLEEXTENSIONS または DISABLEEXTENSIONS 引数は
/E:ON または /E:OFF スイッチよりも優先されます。詳細については SETLOCAL /? を
参照してください。

コマンド拡張機能には、次のコマンドに対する変更または追加が含まれています。

DEL または ERASE
COLOR
CD または CHDIR
MD または MKDIR
PROMPT
PUSHD
POPD
SET
SETLOCAL
ENDLOCAL
IF
FOR
CALL
SHIFT
GOTO
START (外部コマンドの起動の変更を含みます)
ASSOC
FTYPE

詳細は、コマンド名の後に「/?」と入力すると表示されるヘルプを参照してください。
レジストリにある次の
REG_DWORD 値を設定します。コンピューターに対しては、

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions

に 0x1 を設定すると有効になり、0x0 を設定すると無効になります。
ログオン セッションに対しては、

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions

に 0x1 を設定すると有効になり、0x0 を設定すると無効になります。
ユーザー固有の設定は、コンピューターの設定より優先されます。
コマンド ライン スイッチは、レジストリの設定より優先されます。

バッチ ファイルでは、SETLOCAL ENABLEEXTENSIONS または DISABLEEXTENSIONS 引数は
/E:ON または /E:OFF スイッチよりも優先されます。詳細については SETLOCAL /? を
参照してください。

コマンド拡張機能には、次のコマンドに対する変更または追加が含まれています。

DEL または ERASE
COLOR
CD または CHDIR
MD または MKDIR
PROMPT
PUSHD
POPD
SET
SETLOCAL
ENDLOCAL
IF
FOR
CALL
SHIFT
GOTO
START (外部コマンドの起動の変更を含みます)
ASSOC
FTYPE

詳細は、コマンド名の後に「/?」と入力すると表示されるヘルプを参照してください。

既定では、遅延環境変数の展開は有効ではありません。遅延環境変数の展開を有効また
は無効にして CMD.EXE を起動するには、/V:ON または /V:OFF スイッチを使います。
コンピューターまたはログオン セッションで起動される CMD.EXE コマンドすべてに対
して遅延の展開を有効または無効にするには、REGEDIT.EXE を使ってレジストリにある
次の REG_DWORD 値を設定します。コンピューターに対しては、

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\DelayedExpansion

に 0x1 を設定すると有効になり、0x0 を設定すると無効になります。
ユーザー ログオン セッションに対しては、

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\DelayedExpansion

に 0x1 を設定すると有効になり、0x0 を設定すると無効になります。
ユーザー固有の設定は、コンピューターの設定より優先されます。
コマンド ライン スイッチは、レジストリの設定より優先されます。

バッチ ファイルでは、SETLOCAL ENABLEEXTENSIONS または DISABLEEXTENSIONS
引数は /V:ON または /V:OFF スイッチよりも優先されます。
詳細については SETLOCAL /? を参照してください。

遅延環境変数の展開が有効になっている場合、感嘆符を使うと実行時に環境変数の
値を置き換えることができます。

CMD.EXE の特定の起動のファイル名補完機能を有効または無効にするには、/F:ON
または /F:OFF スイッチを使用します。コンピューターとユーザー ログオン セッション
またはそのいずれかで起動される CMD.EXE コマンドすべてに対して補完機能を有効
または無効にするには、REGEDIT.EXE を使ってレジストリにある次の REG_DWORD 値を
設定します。コンピューターに対しては、

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar

に特定の機能に使う 16 進の制御文字を設定します (例 0x4 は Ctrl-D、0x6 は
Ctrl-F)。ユーザー ログオン セッションに対しては、

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar

に特定の機能に使う 16 進の制御文字を指定します (例: 0x4 は Ctrl-D、0x6 は
Ctrl-F)。
ユーザー固有の設定は、コンピューターの設定より優先されます。
コマンド ライン スイッチは、レジストリの設定より優先されます。

/F:ON スイッチで補完機能を有効にした場合、2 つの制御文字 (Ctrl-D はディレ
クトリ名補完機能、Ctrl-F はファイル名補完機能) が使用されます。
レジストリで特定の補完文字を無効にするには、制御文字として有効でないスペース
(0x20) の値を使用します。

2 つの制御文字のどちらかを入力すると、補完機能が起動されます。
パスが存在しない場合、プログラムはカーソルの左側のパス文字列にワイルド
カード文字を付加し、一致するパスの一覧を作成します。その後一致する最初の
パスを表示します。パスが一致しない場合、音を鳴らします。同じ制御文字を押し
続けると一致するパスの一覧を順に表示します。Shift キーを押しながら制御文字
を押すと一覧を逆回り表示します。行を編集して制御文字をもう一度押すと、保存
されていた一致したパスの一覧は破棄され、新しい一覧が作成されます。
ファイル名補完機能とディレクトリ名補完機能を切り替えたときも同様です。
2 つの制御文字の違いは、ディレクトリ補完文字がディレクトリ名だけを照合する
のに対し、ファイル名補完文字はファイルとディレクトリ名の両方を照合する点です。
ファイル補完機能が内部ディレクトリ コマンド (CD、MD または RD) に使用され
た場合、ディレクトリ補完機能と見なされます。

一致するパスの前後に引用符を付けると、補完機能コードでスペースまたは他の
特別な文字を含むファイル名が使用できるようになります。また、行の前に戻って
補完機能を起動した場合、補完機能が呼び出された時点でカーソルの右側に
あったテキストは破棄されます。

引用符が必要な特別な文字は次のとおりです:
<スペース>
&()[]{}^=;!’+,`~

参考)Windows初心者向け書籍

Windows 10の基本から使いこなしまでをわかりやすく解説した書籍で、超初心者から中級者まで幅広く対象としたマニュアル本です。

Tipsメインで初心者にも、長く使っている人も知りたいところを引きやすく扱いやすい本です。上記の本とは好みでどちらかを選べばよいと思います。

コメント

タイトルとURLをコピーしました