連載
» 2015年05月08日 05時00分 UPDATE

Tech TIPS:これだけは覚えておきたいWindowsのコマンドプロンプトの使い方

GUIによる操作が当たり前のこの時代でも、Windows OSの管理にコマンドプロンプトはまだまだ欠かせない。コマンドプロンプトの基本的な使い方を解説。

[打越浩幸,デジタルアドバンテージ]
「Tech TIPS」のインデックス

連載目次

対象OS:Windows Vista / Windows 7 / Windows 8 / Windows 8.1 / Windows Server 2003 / Windows Server 2008 / Windows Server 2008 R2 / Windows Server 2012 / Windows Server 2012 R2



解説

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

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

 そこで本TIPSでは、コマンドプロンプトに慣れていないユーザーを対象に、その使い方について簡単にまとめておく。より詳細な使い方などについては、次の記事やコマンドプロンプトのヘルプ(後述)などを参照していただきたい。

操作方法

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

 「コマンドプロンプト」(ファイル名はcmd.exe)を起動するには、[スタート]メニューから[すべてのプログラム]−[アクセサリ]−[コマンドプロンプト]を選択する。Windows 8/Windows Server 2012以降なら、デスクトップの画面左下にあるスタートアイコンを右クリックして、クイックアクセスメニューから[コマンド プロンプト]を実行する。

 これ以外にも、[Windows]+[R]で[ファイル名を指定して実行]ダイアログを開き、「cmd」と入力してもよい。

コマンドプロンプトの起動(Windows 8/Windows Server 2012以降) コマンドプロンプトの起動(Windows 8/Windows Server 2012以降)
Windows 8/Windows Server 2012以降なら、デスクトップの画面左下にあるスタートアイコンを右クリックして表示されるクイックアクセスメニューから起動できる。
  (1)これを右クリックする。Windows 8/Windows Server 2012の場合はマウスカーソルを画面左下に移動させると「スタート」アイコンが表示されるので、それを右クリックする。
  (2)これを選択すると、コマンドプロンプトが通常起動する。
  (3)これを選択すると、コマンドプロンプトが管理者権限で起動される。

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

タスクバーへのピン止め タスクバーへのピン止め
起動しているコマンドプロンプトのアイコンをタスクバーに表示/ピン留めしておくと、以後は簡単に起動できるようになる。これはWindows 8.1での画面例。
  (1)起動しているコマンドプロンプトのアイコンを右クリックする。
  (2)タスクバーにピン留めする。Windows 7では[タスクバーにこのプログラムを表示する]と表示される。

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

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

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

コマンドプロンプトを管理者権限で起動する コマンドプロンプトを管理者権限で起動する
管理者権限が必要なコマンドを実行する場合は、最初からコマンドプロンプトを管理者権限で起動しておく。さもないと、コマンドが「エラー: このコマンドを実行するのに正しいアクセス許可がありません。〜」「〜ユーティリティを実行するためには管理者権限が必要です。」などのメッセージを表示して、実行できないことがある。
  (1)タスクバー上にあるコマンドプロンプトのアイコンを右クリックする。[Ctrl]と[Shift]キーを押しながら、直接左クリックしてもよい。
  (2)これをさらに右クリックする。
  (3)これを選択して実行する。するとUACの確認ダイアログが表示されるので、[はい]を選択して実行する。
  (4)コマンドプロンプトのコンソール設定などを変更するには、これをクリックする。後述の説明参照。

 もしタスクバー上にコマンドプロンプトのアイコンを登録しているなら、[Ctrl]と[Shift]キーを押しながら、タスクバー上のコマンドプロンプトアイコンをクリックしてもよい。この方法は、タスクバー上にある(コマンドプロンプト以外の)プログラムを管理者権限で起動させる場合にも利用できる。

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

 コマンドプロンプトを起動すると、デフォルトでは80文字×25行しか表示されず、画面が狭くて使いづらいし、テキストの選択やコピーなども簡単ではないので、設定を変更しておくとよい。

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

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

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

「オプション」タブの設定 「オプション」タブの設定
ここではコマンドの履歴や簡易編集モードなどを設定する。

 それぞれの意味は次の通りである。

■バッファーサイズ (1)

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

■バッファー数 (2)

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

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

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

■簡易編集モード (4)

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

■挿入モード (5)

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

●レイアウトの設定

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

「レイアウト」タブの設定 「レイアウト」タブの設定
ここではウィンドウサイズなどを設定する。

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

■画面バッファーの幅 (1)

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

■画面バッファーの高さ (2)

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

■ウィンドウの幅 (3)

 コマンドプロンプトウィンドウの物理的な幅(桁数)を表す。デフォルトでは80桁しかなくて狭いので、100桁とか120桁などに増やしておこう。この値を増加させると(1)の値も自動的に連動する。

■ウィンドウの高さ (4)

 コマンドプロンプトウィンドウの高さ(行数)を表す。30行とか40行など、なるべく画面いっぱいになるようにセットしておくとよい。

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

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

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

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

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

コマンド履歴の編集 コマンド履歴の編集
カーソルキーなどでコマンド履歴を呼び出して再実行できる。
  (1)[F7]キーを押すとこの履歴ウィンドウが表示される。
  (2)コマンド履歴の番号。
  (3)コマンドの内容。「重複する古い履歴を破棄」のチェックボックスをオンにしておくと、重複するコマンド列は1つしか記録されなくなる。
  (4)現在選択されているコマンド列。
  (5)上下のカーソルキーで選択できる。目的の行を選択後、[Enter]キーを押すとすぐに実行されるが、[←]や[→]キーを押すと再編集してから実行できる。

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

キー 意味
[←] カーソルを1文字左へ移動
[→] カーソルを1文字右へ移動
[Ctrl]+[←] カーソルを1単語分左へ移動
[Ctrl]+[→] カーソルを1単語分右へ移動
[Home] カーソルを行頭へ移動
[End] カーソルを行末へ移動
[Insert] 挿入モードと上書きモードの切り替え。モードでカーソルの大きさが変わる
[Delete] カーソル位置の1文字を削除
[Back Space] カーソルの直前の1文字を削除
[Ctrl]+[Home] 行頭からカーソルの直前までを全部削除
[Ctrl]+[End] カーソル位置から行末までを全部削除
[Ctrl]+[C] 入力をキャンセルして次行先頭へ移動
[F1] 直前の履歴の内容を1文字だけコピー
[F2] 直前の履歴から、指定した文字までコピー
[F3] 直前の履歴内容のコピー。何も入力していない状態で押すと直前の履歴を表示することになるが、行の途中で押すと、そこから行末までがコピーされる
[F4] 直前の履歴から、指定した文字まで削除
[F5] 1つ前の履歴へ移動
[F7] コマンド履歴の番号とコマンドラインをポップアップ表示
[F8] 入力した文字列にマッチする履歴へ移動。繰り返し押すとマッチするものを順次表示する
[F9] 指定した履歴番号へ移動。履歴番号は先に[F7]を押して確認する
[↑] 1つ前の履歴へ移動
[↓] 1つ後の履歴へ移動
[Page Up] 履歴リストの先頭へ移動
[Page Down] 履歴リストの最後へ移動
[Alt]+[F7] 履歴を全て削除
[Esc] 入力を全てキャンセルして行をクリア
[Enter] コマンドの実行
コマンドライン編集用のキーボードショートカット
[F1]〜[F4]キーの挙動が分かりづらいが、これは(カーソル移動による編集もできなかった頃の)MS-DOS時代の名残である。

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

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

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

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

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

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

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

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

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

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

 コマンドプロンプトで利用可能なコマンドとその使い方などは、「help」コマンドで確認できる(一部、コマンドプロンプトの外部コマンドも表示される)。もしくは「<コマンド名> /?」を実行してもよい。以下、幾つか主要なコマンドなどについて補足しておく。

●dirコマンド

 dirコマンドは最も多く使われるコマンドであろう(TIPS「Windowsのdirコマンドでファイル名の一覧を取得する」参照)。単に「dir」と入力すると、カレントフォルダ内にあるファイルやフォルダの一覧が表示される。

 dirで覚えておきたいオプションとしては、次のものが挙げられる。

  • 1画面ごとに停止する「/p」
  • 時間順にソートして表示する「/od」。新しいファイルが下の方に表示される。逆順にするには「/o-d」とする
  • サイズ順にソートする「/os」(逆順は「/o-s」)
  • 隠しファイルやシステムファイルを表示する「/ah」や「/as」
  • 属性にかかわらず全てを表示させる「/a」
  • フォルダ名だけを表示する「/ad」(ファイルだけなら「/a-d」)
  • フォルダを再帰的に全て検索して表示する「/s」

 これらのオプションは複数組み合わせてもよいし、ワイルドカード文字を使って、例えば「dir /p *.txt」とすると、ファイル拡張子が「.txt」である全てのファイル名を1画面ごとに止めて表示できる。この場合、次の1画面を表示するには[Space]キーを、途中で中断するには[Ctrl]+[C]をそれぞれ押す。

 特に有用なオプションは「/s」である。「dir /s」とすると、カレントフォルダの下にあるフォルダを全て順番に表示する。グラフィカルなツリーで表示させたければtreeコマンドを利用する。

 また「dir /s *.cnf」のようにすると、*.cnfにマッチするファイルをカレントフォルダ以下から全て検索して表示するという、ファイル検索コマンドとして使用できる。さらに「/b」を付けると、ファイルのフルパス名のみが表示されるので、これをファイルにリダイレクトすれば該当するファイル名の一覧テキストができる(「dir /s *.cnf /b > file.txt」とする)。clipコマンドと組み合わせて(「dir /s *.cnf /b | clip」とする)、検索結果を直接クリップボードへコピーしてもよいだろう。

●clsコマンド

 画面を全て消去するにはcls(clear screen)コマンドを実行する。

●cd/pushd/popdコマンド

 カレントフォルダを変更するにはcd(chdir)コマンドを利用する。ただしcdコマンドはデフォルトではカレントドライブを変更しないので、例えばカレントドライブが「c:\Windows」のときに「cd d:\MyData」を実行しても、カレントドライブはc:のままである。

 そこでcdコマンドに「/d」オプションを付けると、カレントドライブの変更とカレントフォルダの変更を同時に行える。例えば「cd /d d:\MyData」とすると、カレントドライブがd:、カレントフォルダがd:\MyDataになる。

 cdコマンドは、他のコマンドと違って、特別なパラメーター解釈が行われる。補完機能を使ってcdコマンドの引数を選択することもできるが、cdでは特別にワイルドカード文字列が指定できるので、例えば「cd win*」などとしてもよい。「win*」にマッチするフォルダが複数ある場合は、最初のフォルダに移動する。

 また空白文字が含まれる名前であっても引用符で囲む必要はなく、例えば「cd c:\program files」「cd c:\prog* file*」などとしてもよい。

 さらにWindows Vista/Windows Server 2008以降のWindows OSのcdコマンドでは、パス区切り文字として「\」ではなく「/」も利用できるので、「cd /program fil*」「cd c:/windows/system32」のように記述してもよい。

 カレントフォルダを変更するコマンドには、pushd/popdもある。pushdコマンドを使うと、カレントフォルダの場所をスタックにプッシュ(一時保存)してから、カレントフォルダの場所が変更される。作業後、最後にpopdコマンドを実行すると、最初にプッシュしたカレントフォルダに戻る。pushd/popdはネストして利用できる。スタックのネスト状態を見るには引数なしでpushdコマンドを実行する。

●type/moreコマンド

 テキストファイルの内容を確認するには、typeコマンドかmoreコマンドを使用する。typeは指定されたファイルの内容を表示するコマンドだが、長いファイルだとあっという間にスクロールして見えなくなってしまうので、通常はmoreを使うとよい。複数のファイル名を指定すると、全てのファイルが連続して表示される。

 moreでは、指定されたファイル(ワイルドカードなどを使って複数指定可能)の内容を1ページずつ表示する。[Space]キーを押すたびに1画面ずつスクロールし、[Enter]キーだと1行ずつスクロールする。ファイルが複数ある場合は、[F]キーを押すと次のファイルへと進む。途中でやめるには[Q]キーか[Ctrl]+[C]を押す。

 他のコマンド(dirなど)の出力を1ページずつ見るなら、2つのコマンドをパイプで接続して、「dir /s | more」のようにして使う。

●ファイルの編集/プログラムの起動

 ファイルの内容を編集するには、そのためのプログラムを起動する。例えばテキストファイルならメモ帳(notepad.exe)を起動し、ビットマップファイルならペイントプログラム(mspaint.exe)などを起動する。だが、通常はどのアプリケーションを起動するかを気にせずに、単にコマンドライン上で「text.txt」などと入力すればよい(ファイルの拡張子まで省略せずに入力すること)。すると、「.txt」のオープン用に割り当てられているプログラム(通常はメモ帳)が自動的に起動する。これはちょうどエクスプローラーでファイル名をダブルクリックした場合と同様である。直接特定のプログラムを使って起動したければ、例えば「wordpad test.txt」のようにする。

 startコマンドを使って起動するパラメーターを指定すると、アプリケーションプログラム以外のものも実行/起動できる。例えば「start www.atmarkit.co.jp」とすると、[ファイル名を指定して実行]で「www.atmarkit.co.jp」と指定するのと同じく、Webブラウザで@ITのWebサイトが表示される。startコマンドで指定できる特殊なWindowsフォルダの例については、次の記事も参照していただきたい。

●コマンドプロンプトの開始時に特定のコマンドを実行させる

 コマンドプロンプトの開始時に、ある特定の決まったコマンドやバッチファイルなどを実行して、CUIの利用準備をしておきたいことがある。UNIXやLinuxのシェルでは、例えば.loginや.bashrcファイルなどにコマンドを記述しておくと、シェルの開始時やログイン時にその中にあるコマンドが実行されるようになっている。

 Windows OSのコマンドプロンプトにはそのような機能はないが、「cmd /k <バッチファイル>」のようにしてコマンドプロンプトを起動すると、バッチファイルの実行後にユーザーの入力待ちになるので、ほぼ同じことを実現できる。詳細は次の記事を参照していただきたい。

●その他のコマンド

 コマンドプロンプトではさまざまなコマンドが利用できるが、それらを全て列挙するわけにはいかないので、幾つかまとめておく。詳細については各コマンドのヘルプなどを参照していただきたい。ほとんどのコマンドでは、例えば「copy /?」のように入力すると、その簡単な説明と書式が表示されるようになっている。

●フォルダの作成

 新しいフォルダを作成するには、md(mkdir)を使用する。フォルダ名を複数列挙するとそれらが同時に全て作成されるし、階層フォルダ名を指定すると(例「md \aa\bb\cc\dd\ee」)、途中のサブフォルダが存在しない場合はそれらが自動的に作成される。

●ファイル/フォルダの削除

 ファイルを削除するにはdel(erase)コマンドを利用する。フォルダを削除する場合はrd(rmdir)コマンドを使用するが、rdコマンドではワイルドカードでは指定できないので、必要なら複数のフォルダ名を列挙すること。

 フォルダツリーを再帰的に全て削除するには、rdに/sオプションを併用する。

●ファイルのコピー

 copyコマンドかxcopy、robocopyコマンドを使用する。copyは一番シンプルなファイルのコピー、xcopy/robocopyはサブフォルダを含むツリーのコピーに利用する。以下のTIPSも参照のこと。

●ファイルの名前変更/移動

 ファイル/フォルダ名を変更するにはren(rename)コマンドを使用する。(コピーではなく)移動するには、moveコマンドを使う。

 ただしrenコマンドは非常に制約が厳しく、ファイル名の長さが変わるような用途にはほとんど使えない(例:「photo*.jpg」→「2015年春 旅行写真*.jpg」に変更する場合など)。このような場合は、コマンドプロンプトでなくて申し訳ないが、PowerShellのような別ツールを使うのがよいだろう。詳細は次の記事を参照していただきたい。

 もしくは、いったんファイル名部分だけを取り出してから(先のdirコマンドの解説参照)、テキストエディタで「ren photo20150301.jpg 2015年春 旅行写真20150301.jpg」といったコマンド文字列に整形し直し、それを(バッチファイルにするか、コマンドプロンプトに貼り付けて)実行するという方法もある。何回も行う作業でなければ、このような“泥臭い”方法もお勧めである。

●ファイルの属性やセキュリティ設定

 ファイルの属性を表示/設定するにはattribコマンド、ファイルのセキュリティ設定(アクセス制御リスト)を表示/設定するにはcacls/icaclsコマンドなどを利用する。またユーザー名と権限の表示にはwhoamiコマンド、ファイルの所有権の取得にはtakeownコマンドが利用できる。

●文字列の検索

 テキストやテキストファイルの中に特定の文字列が含まれているかどうかを調べるにはfindコマンドを使用する。ただしこのコマンドでは固定的な文字列しか検索できない。正規表現を使って検索したければfindstrという別のコマンドを利用する。

●ソート/比較

 テキストファイルの内容を、その文字コード順にソートするにはsortコマンドを使用する。テキストファイルの比較にはfcコマンドを利用し、バイナリファイルの比較にはfc /bコマンドかcompコマンドを利用する。

●ファイルに対する繰り返し処理

 ファイルやフォルダ(サブフォルダも含む)の一覧に対して、コマンドなどを繰り返し適用するには、forコマンドやforfilesコマンドを利用する。forでは、基本的には、見つけたファイルやフォルダ全てを対象にして何らかの操作を行うが、forfilesでは例えば1年以上更新がないファイルだけを削除や移動する、といったことができる。

 なおforは数値による繰り返し指定などの機能も持つので、ファイル処理以外にも幅広く使える(例:ある処理を100回繰り返すなど)。

●コードページ(文字コード)の変更

 コマンドプロンプト上では、デフォルトでは日本語でヘルプやメッセージなどが表示されるが、英語モードで表示させたい場合は「コードページ」を英語に切り替えればよい。英語モードにするには「chcp 437」、日本語モードに戻すには「chcp 932」とする。次の記事を参考にして、バッチファイルにしておくとよいだろう。

 なおコマンドプロンプトの日本語モードで使われる文字コードは「Shift-JISコード(コードページ番号932)」である。Unicode(のコードページ番号65001)を指定しても、ほとんどの標準コマンドはUnicodeコードページでの動作に対応していないので、利用できないと考えた方がよい。

●ディスクの管理

 ボリューム全体のファイルシステムが正しいかどうかを検査するには、chkdskコマンドを使用する。ディスクのパーティションなどを管理するには、diskpartコマンドを利用する。他にも、ディスクをフォーマットするformatコマンド、デフラグするdefragコマンド、NTFSの暗号化属性を設定するcipherコマンド、NTFSの圧縮属性を設定するcompactコマンドなどがある。1つのファイルに対して暗号化と圧縮の両方を設定することはできず、どちらか一方しか利用できない。また圧縮を行うためにはNTFSのクラスターサイズが4Kbytes以下である必要がある。

●プロセス管理

 プロセスの一覧の表示にはtasklistコマンド、強制終了にはtaskkillコマンドが利用できる。システムを終了させたり再起動させるにはshutdownコマンド、ログオフ(サインオフ)するだけならlogoffコマンドが利用できる。一時的に他のユーザー権限でプログラムを実行するにはrunasコマンドを使う。

●シンボリックリンクやマウント/ジャンクションポイントの管理

 ハードリンクやシンボリックリンク、ジャンクション、マウントポイントなどを管理するには、mklinkやmountvol、linkd、substコマンドなどを利用したり、ディスクの管理ツールでマウントしたりする。

●レジストリ操作

 レジストリの操作にはregコマンドが利用できる。

●ネットワーク関係のコマンド

 ネットワーク関係のコマンドも多数あるので、全て列挙することはできないが、簡単に述べると次のようなものがある。

コマンド名 概要と解説記事
ping ネットワーク的に到達できるかを調べる
Windowsのpingコマンドでネットワークトラブルの原因を調査する
ipconfig アダプターごとのTCP/IPの設定状態などを調べる
netstat TCP/IPのプロトコルスタックの状態を調べる
netstatコマンドを使いこなす
net ネットワークファイル共有サービスなど管理コマンド。多くのサブコマンドがある
netコマンドの使い方
net userコマンドの使い方
コマンドプロンプトでファイル共有を管理する
nbtstat NetBIOS over TCP/IPの状態を調べる
IPアドレスからホスト名を見つける方法
ホスト名からIPアドレスを見つける方法
tracert 各ルーターまでの到達状態などを調べる
tracertでネットワークの経路を調査する
nslookup DNSの状態を調べる
nslookupの基本的な使い方(イントラネット編)
route ルーティングテーブルの状態を調べる
ルーティングテーブルを操作する
arp ARPテーブルの状態を調べる
ARPコマンドで通信先を特定する
ftp ftpのクライアントプログラム
ftpでネットワークの速度を測定する
netsh ネットワーク関連コンポーネントの管理ツール
netshコマンドでTCP/IPのパラメータを設定する
telnet telnetのクライアントプログラム
Telnetクライアントの使い方
netcfg ネットワーク関連コンポーネントの構成ツール
pathping tracertとpingを組み合わせたようなネットワークの経路調査コマンド
pathpingでネットワークの経路を調査する
hostname ホスト名を表示する
コンピュータ名を素早く調査する
msg メッセージを送信する
finger fingerサービスを表示する
getmac MACアドレスを表示する
mrinfo IPマルチキャストルーターの構成情報を表示する
netdom ドメインコンピュータを管理する
Active DirectoryのFSMO役割を担当するサーバを調査する
rpcping RPCでの接続性をテストする
ネットワーク関連の主なコマンド
Windows OSで利用できる主なネットワーク関連のコマンドおよびその解説記事を列挙しておく。OSのバージョンやインストールされているネットワークコンポーネントによっては利用できないものやオプションもある。

■更新履歴

【2015/05/08】日本語と英語のコードページを切り替えるchcpコマンドのパラメーターが間違っていたのを修正しました(「chcp 432」「chcp 937」→「chcp 437」「chcp 932」)。おわびして訂正いたします。

【2015/03/26】コマンドラインの編集用ショートカットやコードページに関する記述を追加しました。

【2015/02/18】doskeyに関する記述を追加しました。

【2015/02/13】Windows Vista/Server 2008〜Windows 8.1/Server 2012 R2に対応しました。

【2002/06/22】初版公開(対象はWindows 2000/Windows XP)。


「Tech TIPS」のインデックス

Tech TIPS

Copyright© 1999-2016 Digital Advantage Corp. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

Touch Barという新UIを得た「MacBook Pro」、プレゼント!

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。