S-JIS[2006-07-13/2008-12-29] 変更履歴

cmd 〔オプション〕

コマンドプロンプトの本体。
コマンドプロンプト上でDOSコマンドが実行できる。

コマンドプロンプトの起動方法(Windows7では管理者として実行しなければならないことがあるので注意)


オプション

コマンドプロンプト上でcmdを実行すると、同一ウィンドウ内で再帰的にコマンドプロンプトが実行される。
exitコマンドで元のコマンドプロンプトへ戻る。

新しいウィンドウを開きたい場合はstartコマンドを使う。


オプション
オプション 説明
/c コマンド 新しいコマンドプロンプトを起動してコマンドを実行する。終了すると、元のコマンドプロンプトに戻る。
/k コマンド 新しいコマンドプロンプトを起動してコマンドを実行する。終了しても元のコマンドプロンプトには戻らない。
/e:{on|off} onだと、コマンド拡張機能を有効にする。(デフォルトはon)
/v:{on|off} onだと、遅延環境変数の展開を有効にする。(デフォルトはoff)

/cと/kにおけるコマンドは、以下のような動作をする。

  1. コマンドがウィンドウアプリのとき、そのウィンドウが開く。それが終わるまでの間、コマンドプロンプトは実行を停止する。
  2. コマンドがDOSコマンドやバッチファイルのとき、それが実行される。
  3. コマンドがその他のファイルのとき、関連付けられたアプリケーションが起動する。

初期実行(WindowsXP)

以下のレジストリ(のどちらか)にAutoRunという値を作ってバッチファイルを登録しておくと、cmdの起動時にそのファイルが実行される
(cmd /?で「/D」に関するヘルプを参照)
ファイル内にエイリアスの設定を書いておけば、コマンドプロンプト内でそのエイリアスが使える。

レジストリ(キー) 備考
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor マシン
HKEY_CURRENT_USER\Software\Microsoft\Command Processor 現在のユーザー
名前 種類 データ(例)
AutoRun REG_SZ c:\bin\cmd_init.bat

regedit(レジストリエディタ)でなら、「HKEY_*」→「Software」→「Microsoft」→「Command Processor」を右クリックし、「新規(N)」→「文字列値(S)」で、「名前」に「AutoRun」を入力する。
その後、「AutoRun」の文字を右クリックして「修正(M)」で「文字列の編集」ダイアログを出し、「値のデータ(V)」にデータ(上記の例なら「c:\bin\cmd_init.bat」)を入力する。

reg(コンソール版レジストリ編集ツール)でなら、以下のコマンドを入力する。

>reg add "HKEY_CURRENT_USER\Software\Microsoft\Command Processor" /v AutoRun /d c:\bin\cmd_init.bat

操作は正しく終了しました

>reg query "HKEY_CURRENT_USER\Software\Microsoft\Command Processor" /v AutoRun			…内容の確認

! REG.EXE VERSION 3.0

HKEY_CURRENT_USER\Software\Microsoft\Command Processor
    AutoRun     REG_SZ  c:\bin\cmd_init.bat

c:\bin\cmd_init.bat

@echo off
doskey cat=type $*
doskey dana="C:\Program Files\RimArts\dana\Dana.exe" $*
doskey his=doskey /history
doskey ls=dir/w $*
doskey rm=del $*

doskey alias=〜」も入れておくといいかも?

→アプリケーションによっては、cmd経由でバッチファイルを実行する際に「Keyboard History Utility」のエラーが発生することがある模様[2008-12-29]


コマンドプロンプトのキー操作

キー 説明 備考 更新日
前に入力したコマンドを表示する。    
次のコマンドを表示する。    
カーソルを左へ移動する。    
カーソルを右へ移動する。移動した先に何も文字が無いと、直前のコマンドの文字が補填される。    
Tab カレントディレクトリにあるファイルを(次々に)補完する。ワイルドカードを使っていた場合、それに合致するものだけが補完対象になる。
オートコンプリートが機能していない場合は、ただ単にタブ文字が入力される)

Shift+Tabたど、補完対象ファイルの現れる順序が逆になる。
オートコンプリート 2007-01-27
Esc 現在のコマンドを消去する。    
F3 直前のコマンドの、現在のカーソル位置から後ろ全てが補填される。    
F7 コマンド履歴が表示される。ここからコマンドを補完することも可能。 バッファサイズ  
Ctrl+C 現在実行中の処理(バッチ処理等)を中断(強制終了)する。UNIXのCtrl+Cに相当。   2007-01-27
Ctrl+H BSキーと同じ。   2007-01-27
Ctrl+I Tabキーと同じ。   2007-01-27
Ctrl+M Enterキーと同じ。   2007-01-27
Ctrl+Z EOF(end of file:ファイルの終わり。文字コード0x1a)。UNIXのCtrl+Dに相当。 コンソール入力 2007-01-27
参考

関連する環境変数

環境変数 説明 ヘルプ
%CMDEXTVERSION% cmdのバージョン番号。 set /?
%CMDCMDLINE% cmdの起動時のオプション。 set /?

コマンドプロンプトのプロパティ

コマンドプロンプトのウィンドウのタイトルバーを右クリックすると、メニューが出てくる。
ここで「規定値(D)」や「プロパティ(P)」を選択すると「コンソール ウィンドウのプロパティ」ダイアログあるいは「"コマンド プロンプト"のプロパティ」ダイアログが出て、コマンドプロンプトの設定が出来る。
「規定値」は全コマンドプロンプトの初期値、「プロパティ」は現在のコマンドプロンプトの設定だけで、内容は概ね同じだが若干異なる部分もある。

タブ 項目 説明 備考
オプション バッファサイズ(B) コマンド履歴に残るコマンドの個数。 F7キーで表示される最大数
簡易編集モード(Q) オンにすると、左クリック・ドラッグで範囲選択し、右クリックでコピーできる。そして、範囲選択していない時に右クリックするとペーストできる。
オフにすると、右クリックメニューで「範囲指定(K)」を選ばないと範囲選択できない。ペーストも、右クリックメニューで「貼り付け(P)」をする必要がある。
デフォルトはオフ
オートコンプリート(A) - Tabキーによるファイル名の補完を行うかどうか。 デフォルトはオン
画面の色 画面バッファのサイズ 画面に表示された内容が残るサイズ。[2008-01-13] modeコマンドでも半端に変えられる
ウィンドウのサイズ 画面サイズ。[2008-01-13]
画面の色 画面の文字(T) 通常のコマンドプロンプトの画面の文字の色と背景色。 colorコマンドでも変えられる
画面の背景(B)
ポップアップの文字(P) ポップアップ画面(F7キーで出る枠)の文字の色と背景色。  
ポップアップの背景(U)  

DOSコマンドへ戻る / 技術メモへ戻る
メールの送信先:ひしだま