コマンドプロンプトで利用できる主な
基礎知識、リダイレクト/パイプなどを
使った活用方法を説明します。
コマンドプロンプトの起動法に続き、
最も基本的なコマンドの1つ、dirコマンドを例にとって、
実行方法やオプションの存在についてご紹介した。
ひとまず、コマンドプロンプト活用の基礎の基礎は
駆け足で学んだことになりますが、本当に活用するには、
どんなコマンドが使えるのかにある程度精通する必要があります。
使えるコマンドは多岐にわたるので、
その全てをここで紹介することは出来ませんが、
利用頻度の高そうな基本的なコマンドのいくつかを紹介、
コマンドプロンプトの醍醐味について知ってください。
これに加え今回は、コマンドラインをより
活用するためのパスの表記方法やフォルダの扱い、
コマンドの実行結果を画面に表示するのではなく
ファイルに保存するリダイレクト、
複数のコマンドを組み合わせて使える
パイプなどについても説明します。
コマンドプロンプトを使うために必要な
コマンドプロンプト上で作業する場合、
対する理解です。
GUIでは、マウスでドラッグドロップすれば
よいですが、CUIではマウスが使えないので、
ファイルやフォルダの指定をテキストで行う必要があります。
コマンドプロンプトを使う場合、
しかも正確に指定する必要に迫られることが多いです。
例えばユーザーのドキュメントフォルダは、
エクスプローラの上では単に「ユーザー1のドキュメント」のように
表示されてますが、本当の場所(ファイルシステム上での実際の場所)は
「C:¥Users¥user01¥Documents」といった場所にある。
「隠蔽して」表示しているのは、ユーザーの
利便性を考えてのことでしす。
コマンドプロンプトを使う場合は、そのような隠蔽(変換措置)は
生の”状態がほぼそのまま見えることになる
(歴史的に言えば、コマンドプロンプトはエクスプローラよりも
ずっと前から存在していたので、互換性のために
余計なことをしないようになっている)。
そのため、コマンドプロンプトを使うためには、
ファイルシステムのことも知っておく必要があります。
Windows OSのファイルシステムを図にすると次のようになります。
Windows OSのファイルシステムの概念
主な特徴は次の通りです。
・一番上には「ドライブ」という分類がある。
Windows OSでは「C:」「D:」「E:」……のように呼びます。
・一般的には、C:がWindowsのシステムドライブとなってます。
・ハードディスクを複数のドライブに分割して、C:、D:のように
分けて使うこともできる。D:ドライブ以降はオプション。
システムによっては存在しないこともあります。
・光学ドライブやUSBメモリ、メモリカードなども
別ドライブとして分離されて管理してます。
・ドライブの中には、フォルダの階層があり、
各フォルダの中にはファイルもしくはさらに
フォルダが含まれている。
階層の一番上を「ルート」と呼びます。
・ドライブごとにNTFSやFAT、exFATのような
ファイルシステムのタイプを持つことができます。
・名前中のアルファベットの大文字/小文字の違いは
無視される(区別されない)
ファイルやフォルダを表現する「パス名」
コマンドプロンプトでは、ファイルやフォルダを指し示すために、
「パス名」という表記方法が使われます。
パス名とは次のように、ドライブ名とルートを表す「¥」、
フォルダ階層名、ファイル名を「¥」で区切って並べたものである。
名前の途中に空白記号を含む場合は全体を引用符「"」で囲む。
囲まないと、空白文字がコマンドやパラメータの区切りとして
扱われてしまうから
(例:「dir "C:¥Program Files"」のつもりで「dir C:¥Program Files」としてはいけない)。
パス名を構成する要素
パス名とは、ファイルシステム上のファイルや
フォルダの場所を表す指定方法。
パス名の制限は次の通りです。
・空白を含む場合は全体を引用符で囲む
・最大パス長は、ドライブ名から始めて、
全体で260文字まで(アルファベットも漢字文字も1文字と数える)
・大文字/小文字は区別されない
現在の場所を表す「カレントドライブ」と
「カレントフォルダ(カレントディレクトリ)」
Windows OSには、「カレントドライブ」や「カレントフォルダ」
(カレントディレクトリとも言いますが、全てフォルダで統一する)という
特別な概念があります。
ファイル名やフォルダ名などの指定が絶対パス表記
になっていない場合、必要に応じてこのカレントドライブや
カレントフォルダの情報が補われて、
最終的なファイルやフォルダの場所(パス)が決定されます。
カレントドライブとカレントフォルダ
notepadとはメモ帳アプリのこと。
「notepad <ファイル名>」とすると、
そのファイルがメモ帳で開かれる。
カレントフォルダ(この例ではC:¥abc)以外の場所にある
ファイルを開く場合は、
その場所を表すフォルダパスの指定を
前に付ける必要があります。
カレントドライブとは、パス指定にドライブ名が
含まれていない場合に使われる、
デフォルトのドライブ名のことです。
コマンドプロンプトを起動した直後は、
(何も設定していないと)C:がカレントドライブとなってます。
カレントフォルダとは、パス指定が「¥(ルート)」から
始まっていない場合に使われる、
デフォルトのフォルダのことです。
起動直後のコマンドプロンプトウィンドウには、
プロンプト記号として
「C:¥Users¥user01>」のように表示されますが。
れはカレントドライブが「C:」、カレントフォルダがC:の
「¥Users¥user01」であることを表しています。
カレントドライブとカレントフォルダの表示
注意したいのが、Windows OSではドライブごとに、
それぞれカレントフォルダが存在する、ということです
(正確には、実行中のアプリケーションごとに、
それぞれ独自のカレントドライブが存在し、
さらにそのドライブごとにカレントフォルダが存在します)。
カレントドライブやカレントフォルダが異なると、
同じ名前でも別のファイルやフォルダを表します。
例えばC:とD:のカレントフォルダが同じ¥Docだったとしても、
C:file.txtとD:file.txtは別のファイルです。
絶対パスと相対パス
ドライブ名の直後にある「¥」は、そのドライブのルート
(一番上)を表す特別な場所です。
これを含むパス名(「¥」から始まっているパス名)を
「絶対パス」、そうでないパス名を「相対パス」といいます。
パスの表記が相対パスの場合、実際のファイルの場所は
カレントフォルダによって(つまり状況に応じて)
変わることになるので注意が必要です。
複数のファイルにマッチするワイルドカード文字:「?」と「*」
コマンドラインでファイル名を指定する場合、
複数のファイルをまとめて扱いたいことがあります。
例えば、「文書~」で始まる全ファイルと、
「.txt」という拡張子を持つ全ファイルをまとめて
コピーしたいとか、「.log」という拡張子のファイルを
全部削除したい、といった場合。
先のdirコマンドの例では、「.txt」「.doc」「.log」の
拡張子を持つファイル全部を表示してます。
こんな場合は、「ワイルドカード」という
特殊な文字を使ってファイルを指定するとよいです。
★任意の長さの文字列にマッチする「*」
ファイル名中で「*」を使うと、それは任意の
長さの文字/文字列にマッチします。例えば「文書*」とすると
「文書」で始まる全ファイルにマッチする。
「文書1.doc」「文書です.docx」「文書A.txt」にマッチするが、
「重要文書.doc」にはマッチしない。
また、「.docx」といった特定の拡張子を持つファイルのみを
マッチさせたいのであれば、「*.docx」とすればよいです。
単に「*」だけだと、どのファイルにもマッチします。
★任意の1文字にマッチする「?」
「*」は任意の長さの文字にマッチするが、「?」は
1文字だけにマッチします。例えば「text?.txt」は
「text1.txt」「text2.txt」にはマッチしますが、
「textABC.txt」にはマッチしない。
Windows OSでは、パスの途中にある*や?にはマッチしません。
例えば「¥*¥doc」は「¥user1¥doc」と「¥user2¥doc」の
いずれにもマッチしない。
*や?は、パスの最後の部分にあるフォルダ名や
パス名の部分でのみ利用可能となっています。
パス入力を簡単にするための方法
長いパス名を手動で間違いなく入力するのは
とても困難です。
そんな場合は以下の方法を使うと、
パス名を簡単に入力できます。
★方法1――[Tab]キーで自動補完する
パス名を途中まで入力してから[Tab]キーを押すと、
入力された名前に一致するファイル名や
フォルダ名が自動的に補完入力されます。
複数マッチする場合は、繰り返し[Tab]キーを押せば、
順番に合致するファイルが表示されます。
例えば「ab」まで入力してから[Tab]キーを押すと、
「abc.txt」「abstract.doc」……のように、「ab」で
始まる名前の項目が順次表示されます。
★方法2――エクスプローラからファイルをドラッグ&ドロップする
エクスプローラでファイルやフォルダを選択し、
それをコマンドプロンプト上へドラッグ&ドロップすると、
フルパス名がカーソル位置に自動的に入力されます。
パス名中に空白文字が含まれている場合は
全体が引用符で囲まれるので便利です。
エクスプローラからのドラッグ&ドロップ
★方法3――エクスプローラでフルパス名を取得して、
それをコマンドプロンプトへ貼り付ける
エクスプローラでファイルやフォルダを選択し、
[Shift]キーを押しながら右クリックするとポップアップメニューに
[パスとしてコピー]という項目が表示されます。
これを実行するとフルパス名がクリップボードに
コピーされるので、それをコマンドプロンプトへ
「貼り付け」ればよいです。
コマンドプロンプトへクリップボードの内容を貼り付けるには、
コマンドプロンプト上でマウスを右クリックする。
- 関連記事
-
https://pcexa.blog.fc2.com/blog-entry-80.htmlファイルシステムの基礎と基本的なコマンド
(この一行は、各記事の最後に固定表示するサンプルです。テンプレートを編集して削除もしくは非表示にしてください。)