cmd.exeの実行時に、特定のプログラムを起動するなどの処理を行う場合、単に特定の用途にのみ使うのであれば、"/k"オプションを使って
cmd.exe /k "コマンド"
というリンク先が指定されているショートカットを作ればよい。"/k"は、後続する文字列をコマンドとして実行後、コマンド プロンプトを表示するというオプションである。
しかし起動するすべてのcmd.exeで特定のコマンドを実行させたいのであれば、レジストリエディタで以下のいずれかの文字列型のエントリを作り、コマンドを文字列として定義しておく。
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun
パスからわかるように、前者はログインユーザーにかかわらず、そのマシン上で実行されるすべてのcmd.exeに影響し、後者は特定のユーザーが実行するcmd.exeに影響する。なお、この自動実行機能をオフにする場合には、起動時のオプションとして"/d"を付ける。もし前記2つのエントリが同時に定義されていた場合、上記の順序でコマンドが実行される。
従来のMS-DOSでは、プログラムのみコマンドラインから実行可能であったが、cmd.exeでは、Windows自体が持つ関連付け(ファイル名の拡張子と実行ファイルの組合せ)機能を使ったプログラムの実行もサポートされる。
これを使うと、プログラム ファイルではなく、アプリケーションのデータ ファイル名を指定して実行することもできる。例えば
C:\>c:\data\test.txt
とテキスト ファイル名を入力してリターン キーを押せば、(デフォルトでは)Notepad.exe(メモ帳)が起動され、このファイルが編集可能な状態でオープンされる(いちいち"notepad c:\data\test.txt"と入力しなくてもよい)。ちょうどエクスプローラでtest.txtファイルをダブルクリックしたのと同じ状態になるわけだ。
Copyright© Digital Advantage Corp. All Rights Reserved.