連載目次

対象OS：Windows 7／Windows 8／Windows 8.1／Windows 10／Windows Server 2008 R2／Windows Server 2012／Windows Server 2012 R2／Windows Server 2016



GUIが主流のこの時代でも、CUIの「コマンドプロンプト」が活躍する場面は多い。例えば、システム管理などでは各種の設定ファイルの内容をチェックしたり、簡単な編集作業を行ったりする必要がある。その際、いちいちエクスプローラーやメモ帳などを使って編集するよりは、コマンドプロンプト上で操作した方が手っ取り早い。

またネットワーク関連のトラブルシューティングでは、コマンドプロンプト上でネットワークツールを使う場面が多いので、コマンドプロンプトを避けて通るわけにはいかない。

そこで本TIPSでは、コマンドプロンプトに慣れていないユーザーを対象に、その使い方について簡単にまとめておく。パスやカレントドライブ、カレントフォルダ、ワイルドカードといった基本的用語、各コマンドの説明や使用例、バッチの基本などについては、次の記事やコマンドプロンプトのヘルプ（後述）なども参照していただきたい。

なおWindows 10では、Linuxのコマンドがそのまま使える「WSL（Windows Subsystem for Linux）」も利用できるので、コマンドプロンプトの機能が不足していると感じられる場合は、WSLも利用するとよいだろう。

また、「コマンドプロンプト」の編集や履歴機能が不足していて使いづらいと考えるなら、「Cmder」のような高機能な代替コンソールを利用する方法もあるので、必要に応じて利用するとよいだろう。

コマンドプロンプトの起動設定

「コマンドプロンプト」（ファイル名はcmd.exe）の起動方法は幾つかある（TIPS「Windows 10でコマンドプロンプトを素早く起動する方法」も参照）。

［スタート］メニューの［Windowsシステム］−［コマンドプロンプト］

［スタート］メニューの［アクセサリ］−［コマンドプロンプト］（Windows 7の場合）

［Windows］＋［R］で［ファイル名を指定して実行］ダイアログを開き、「cmd」と入力

検索窓に「cmd」や「コマンド」と入力して検索

［スタート］ボタンを右クリックして（［Windows］＋［X］キーでも可）、クイックアクセスメニューから［コマンド プロンプト］を実行（Windows 8／Windows Server 2012以降の場合）

最後の方法の場合、Windows OSのバージョンによってはここに［PowerShell］が表示されていることがある。その場合は、次の方法で［コマンドプロンプト］に変更できる。



コマンドプロンプトの起動（Windows 8／Windows Server 2012以降）

Windows 8／Windows Server 2012以降なら、デスクトップの画面左下にあるスタートアイコンを右クリックして表示されるクイックアクセスメニューから起動できる。OSによってはここにPowerShellと表示されていることがあるが、［設定］アプリで変更できる。



コマンドプロンプトをタスクバーにピン留めする

いったんコマンドプロンプトが起動したら、タスクバーにアイコンを登録／ピン留めしておくと、以後は簡単に起動できるようになる。



タスクバーへのピン止め

起動しているコマンドプロンプトのアイコンをタスクバーに表示／ピン留めしておくと、以後は簡単に起動できるようになる。



コマンドプロンプトを管理者権限で起動する

管理用コマンドを利用する場合、アクセス権の関係で、最初から「管理者権限」でコマンドプロンプトを起動しておかなければならないことがある。これには幾つか方法がある。

一番基本的なのは、スタートメニューやタスクバー上の「コマンド プロンプト」アイコンを右クリックし、ポップアップメニューから［管理者として実行］を選択する方法だ。



コマンドプロンプトを管理者権限で起動する

管理者権限が必要なコマンドを実行する場合は、最初からコマンドプロンプトを管理者権限で起動しておく。さもないと、コマンドが「エラー: このコマンドを実行するのに正しいアクセス許可がありません。〜」「〜ユーティリティを実行するためには管理者権限が必要です。」などのメッセージを表示して、実行できないことがある。コマンドプロンプトのアイコンを右クリックして、ポップアップメニューから［管理者として実行］を選択する。



もしタスクバー上にコマンドプロンプトのアイコンを登録しているなら、［Ctrl］と［Shift］キーを押しながら、タスクバー上のコマンドプロンプトアイコンをクリックしてもよい。

この方法は、タスクバー上にある（コマンドプロンプト以外の）プログラムを管理者権限で起動させる場合にも利用できる。

コマンドプロンプトのコンソール設定の変更

コマンドプロンプトを起動してもデフォルトでは狭い画面しか表示されず、見づらいので設定を変更しておくとよい。

このためには、コマンドプロンプトのシステムメニュー（コマンドプロンプトウィンドウの左上に表示されているアイコンをクリックすると表示されるメニュー）から［プロパティ］を選び（［Alt］＋［Space］を押してから［P］キーの方が早いので、これも覚えておくとよい）、プロパティ画面を表示させる。

起動中のコマンドプロンプトではなく、今後起動するコマンドプロンプトのデフォルト設定を変更したい場合は、メニューやタスクバー上のコマンドプロンプトのアイコンを右クリックし、ポップアップメニューから［プロパティ］を選んでもよい。

コマンドプロンプトのプロパティ画面を開いたら、次の設定を変更する。

主な項目の意味は次の通りである。

■バッファーサイズ

コマンド履歴の最大サイズの指定。一度入力したコマンド文字列は、このバッファーサイズの数だけ履歴として保存される。履歴は、後述するように［F7］キーなどで参照できる。同じコマンドを繰り返して実行する場合に役に立つ。デフォルトでは50コマンドまで履歴が保存されるが、最大で999コマンドまで拡大できる。通常は50コマンドでも十分だろう。

■バッファー数

コマンドプロンプトから別のコマンドプロンプトやプログラムを起動する場合、そのプログラムの中でも独立して履歴が保存される。コマンドプロンプトからさらに別のコマンドプロンプト（cmd）を呼び出す場合だけでなく、netshやdiskpart、PowerShellのようなテキスト入力を受け付けるプログラムを呼び出した場合でも、それらの中で入力した履歴が、それぞれのプログラムごとに保存される。また各プログラムをいったん終了させてからまた起動しても、その前の履歴が参照できる。だがこのバッファー数で指定したネスト（深さ）を超えると履歴は保存されない。デフォルトは4なので、5つ以上ネストさせた場合は履歴を利用できなくなる。

■重複する古い履歴を破棄

コマンド履歴中に、同じコマンド文字列を重複して保存しないようにするオプション。同じコマンドを繰り返し実行してもコマンド履歴が増えず、履歴管理が容易になる。

■簡易編集モード

オンにしておくと、コマンドプロンプトウィンドウ内のテキストをマウスのドラッグで操作できるようになる（OSによってはデフォルトでオン）。クリップボードへコピーしたい範囲をマウスで選択し（領域の左上でマウスをクリックし、そのまま選択範囲の右下までドラッグして、マウスボタンを離す）、そこでさらに右クリックするか［Enter］キーを押すと、選択された範囲がクリップボードにコピーされる。「貼り付け」は（何も選択されていない状態で）マウスを右クリックするだけでよい。

■挿入モード

これはデフォルトの編集モードを「上書き」ではなく「挿入」にするためのオプションである。以前入力したコマンドの一部を変えて再実行するということはよくあるので、オンにしておかないととても不便だ。

コンソール画面のレイアウトの設定

［レイアウト］タブではコマンドプロンプトのウィンドウサイズを変更する。コマンドプロンプトでは、通常のWindowsアプリケーションと違って、ユーザーが自由に画面サイズ（画面幅）を変えることができない。もともと画面幅が固定のコンソール画面（DOS画面）をエミュレートしているので、使用中に自由に画面サイズが変更されることを想定していないためだ。また使いやすくするためにも、最初からなるべく画面を広くしておくのがよいだろう。

コマンドプロンプトのサイズ（桁数と行数）はデフォルトでは80桁×25行（OSのバージョンによっては120桁×30行）となっているが、これでは狭すぎるだろうから、もっと大きくしておくとよい。それぞれの意味は次の通りである。

■画面バッファーの幅

これは仮想的なコンソール画面の幅を表す。以下の「ウィンドウの幅」を広げると自動的に連動するので、元のままでよい。

■画面バッファーの高さ

仮想的なコンソール画面の高さを表す。これを超えて出力されたテキストは切り捨てられ、上にスクロールしても見ることはできない。デフォルトでは300行だが（OSによっては9001行）、最大9999行まで増やすことができる。

なお次の記事で解説しているmodeコマンドを使うと、約3万2000行まで拡大できる。

■ウィンドウの幅

コマンドプロンプトウィンドウの物理的な表示幅（桁数）を表す。画面バッファーの幅よりも狭いと、全体を見るのに横スクロールが必要になる。

■ウィンドウの高さ

コマンドプロンプトウィンドウの物理的な表示行数を表す。

以上の設定変更が終了したら、［OK］をクリックして、設定を保存する。

コマンドライン履歴の編集

コマンドプロンプトでは、以前実行したプログラムを再度実行したり、少しパラメーターを変えて実行したりすることがよくある。こういう場合には幾つか便利な方法があるので覚えておくとよい。

［F3］キーを押すと直前のコマンドが再表示されるが、［↑］キーを押すとコマンド履歴を1つずつ順番に前へ戻ることができる（［↓］キーで逆順）。また、例えば「dir」まで入力してから［F8］キーを押すと、「dir」で始まるコマンド履歴が順番に表示されるので、目的のコマンドラインが表示されるまで繰り返し［F8］キーを押せばよい。

［F7］キーを押すと履歴の一覧が表示されるので、［↑］［↓］キーでコマンドを選んでから（［F9］で履歴番号を指定して選ぶこともできる）、再編集したり、［Enter］キーを押して実行したりできる。



コマンド履歴の編集

カーソルキーなどでコマンド履歴を呼び出して再実行できる。



コマンドラインの編集時に利用できるキーを次にまとめておく。

キー／操作 意味 ［←］ カーソルを1文字左へ移動 ［→］ カーソルを1文字右へ移動 ［Ctrl］＋［←］ カーソルを1単語分左へ移動 ［Ctrl］＋［→］ カーソルを1単語分右へ移動 ［Home］ カーソルを行頭へ移動 ［End］ カーソルを行末へ移動 ［Insert］ 挿入モードと上書きモードの切り替え。モードでカーソルの大きさが変わる ［Delete］ カーソル位置の1文字を削除 ［Back Space］ カーソルの直前の1文字を削除 ［Ctrl］＋［Home］ 行頭からカーソルの直前までを全部削除 ［Ctrl］＋［End］ カーソル位置から行末までを全部削除 ［Ctrl］＋［C］ 入力をキャンセルして次行先頭へ移動 ［F1］ 直前の履歴の内容を1文字だけコピー ［F2］＋1文字 直前の履歴から、指定した文字までコピー ［F3］ 直前の履歴内容のコピー。何も入力していない状態で押すと直前の履歴を表示することになるが、行の途中で押すと、そこから行末までがコピーされる ［F4］＋1文字 直前の履歴から、指定した文字まで削除 ［F5］ 1つ前の履歴へ移動 ［F7］ コマンド履歴の番号とコマンドラインをポップアップ表示 ［F8］ 入力した文字列にマッチする履歴へ移動。繰り返し押すとマッチするものを順次表示する ［F9］ 指定した履歴番号へ移動。履歴番号は先に［F7］を押して確認する ［↑］ 1つ前の履歴へ移動 ［↓］ 1つ後の履歴へ移動 ［Page Up］ 履歴リストの先頭へ移動 ［Page Down］ 履歴リストの最後へ移動 ［Alt］＋［F7］ 履歴を全て削除 ［Esc］ 入力を全てキャンセルして行をクリア ［Enter］ コマンドの実行、選択範囲の確定 ［Ctrl］＋［F］ 検索 マウス左クリック 選択開始点の指定 マウスのドラッグ テキストの選択 マウス右クリック テキストの貼り付け ［Shift］＋ドラッグやカーソル移動キー 選択範囲の拡大／縮小 ［Tab］／［Ctrl］＋［I］ 補完 コマンドラインの編集機能

［F1］〜［F4］キーの挙動が分かりづらいが、これは（カーソル移動による編集もできなかった頃の）MS-DOS時代の名残である。



残念ながら、履歴はコマンドプロンプトを終了させると消えてしまう。UNIXやLinuxのシェルのように、以前の履歴をコマンドプロンプト起動時にロードさせる方法はない。

ところでこのコマンドラインの履歴機能はdoskeyによって実現されている。doskeyは、以前は独立したコマンドだったが、現在ではコマンドプロンプトに内包されている。このため、コマンド履歴の一覧をコピーしたり、バッチファイルなどにするためにテキストとして表示させたりしたければ、「doskey /h」か「doskey /history」を実行すればよい。

doskeyを使うと「マクロ」も定義できる。例えば「doskey ls=dir /a」とすると、以後「ls」と入力するだけでファイル名の一覧を表示できる。ただコマンドプロンプト起動時に自動ロードさせる標準的な手段が用意されていないなど、あまり使い勝手はよくない。詳細については「doskey /?」でヘルプを参照していただきたい。

ファイル／フォルダ名の入力と補完機能

コマンドを実行する場合には、そのパラメーターとしてファイル名やフォルダ名を指定する必要がある。だが古いMS-DOS時代の8.3形式のファイル名ならともかく、空白や記号、漢字などを含む長いファイル名をコマンドプロンプト上でいちいち手動により入力するのは非常に面倒である。こういう場合は、ファイル名やフォルダ名の「補完機能」を活用する。

補完機能とは、ファイル名の先頭の数文字を入力しただけで、残りの部分のファイル名が自動的に補われるという機能である。補完キー（デフォルトでは［Tab］キー）を押すと、カレントフォルダ内にある、該当するファイル名やフォルダ名が自動的に選択され入力される。候補が複数ある場合は、目的のものが表示されるまで補完キーを繰り返し押せばよい。

何も入力せずに補完キーを押すと、全てのファイルやフォルダが順番に表示される（ファイル名に空白が含まれる場合は、自動的に「 " 」で囲まれる）。

フォルダ名の場合は、最後に「\」を手動で入力して（パス名が「 " 」で終了していても、その後ろに「\」を追加してよい）、さらに補完キーを押せば、今度はそのフォルダ内の候補が順番に表示される。このようにして、深いフォルダにあるファイルでも簡単に指定できる。

ファイル名を指定するには、エクスプローラーによるドラッグ＆ドロップという方法もある。エクスプローラーでファイルやフォルダを選択、ドラッグして、それをコマンドプロンプト上へドロップすると、そのフルパス名が自動的に貼り付けられる。TIPS「ファイルやフォルダのフルパス名を取得する」で紹介しているように、エクスプローラーで［Shift］キーを押しながら右クリックしてパス名を取得する方法もあるが、ドラッグ＆ドロップする方が簡単である。

コマンドプロンプトのヘルプ

コマンドプロンプトで利用可能な主なコマンドとその使い方などは、helpコマンドで確認できる（一部、コマンドプロンプトの外部コマンドも表示される）。コマンド名が分かったら、次は例えば「help copy」もしくは「copy /?」のようにすると、より詳しい説明、使い方などが表示される。以下、幾つか主要なコマンドなどについて補足しておく。

ファイルの一覧を取得するdirコマンド