FC2ブログ

PC☆EXA(ピーシー☆エクサ)

自作パソコン、Windows、スマホ、アプリ等‥の操作、設定をいまさら聞けない操作を紹介します。

ファイルシステムの基礎と基本的なコマンド

2021.04.17 (Sat)
コマンドプロンプトで利用できる主な
コマンドを紹介する他、Windowsファイルシステムの
基礎知識、リダイレクト/パイプなどを
使った活用方法を説明します。

コマンドプロンプトの起動法に続き、
最も基本的なコマンドの1つ、dirコマンドを例にとって、
実行方法やオプションの存在についてご紹介した。
ひとまず、コマンドプロンプト活用の基礎の基礎は
駆け足で学んだことになりますが、本当に活用するには、
どんなコマンドが使えるのかにある程度精通する必要があります。
使えるコマンドは多岐にわたるので、
その全てをここで紹介することは出来ませんが、
利用頻度の高そうな基本的なコマンドのいくつかを紹介、
コマンドプロンプトの醍醐味について知ってください。

これに加え今回は、コマンドラインをより
活用するためのパスの表記方法やフォルダの扱い、
コマンドの実行結果を画面に表示するのではなく
ファイルに保存するリダイレクト、
複数のコマンドを組み合わせて使える
パイプなどについても説明します。


コマンドプロンプトを使うために必要な
Windowsファイルシステムの基礎知識

コマンドプロンプト上で作業する場合、
避けて通れないのがWindows OSのファイルシステムに
対する理解です。GUIでは、マウスでドラッグドロップすれば
よいですが、CUIではマウスが使えないので、
ファイルやフォルダの指定をテキストで行う必要があります。
コマンドプロンプトを使う場合、
Windows OSのファイル名を直接、
しかも正確に指定する必要に迫られることが多いです。

例えばユーザーのドキュメントフォルダは、
エクスプローラの上では単に「ユーザー1のドキュメント」のように
表示されてますが、本当の場所(ファイルシステム上での実際の場所)は
「C:¥Users¥user01¥Documents」といった場所にある。
エクスプローラ(GUIのツール)が本当の場所を
「隠蔽して」表示しているのは、ユーザーの
利便性を考えてのことでしす。

コマンドプロンプトを使う場合は、そのような隠蔽(変換措置)は
行われず、Windows OSのファイルシステムの“
生の”状態がほぼそのまま見えることになる
(歴史的に言えば、コマンドプロンプトはエクスプローラよりも
ずっと前から存在していたので、互換性のために
余計なことをしないようになっている)。
そのため、コマンドプロンプトを使うためには、
ファイルシステムのことも知っておく必要があります。

Windows OSのファイルシステムを図にすると次のようになります。

wi-cmdlinefig201.png
Windows OSのファイルシステムの概念


主な特徴は次の通りです。

・一番上には「ドライブ」という分類がある。
 Windows OSでは「C:」「D:」「E:」……のように呼びます。

・一般的には、C:がWindowsのシステムドライブとなってます。

・ハードディスクを複数のドライブに分割して、C:、D:のように
 分けて使うこともできる。D:ドライブ以降はオプション。
 システムによっては存在しないこともあります。

・光学ドライブやUSBメモリ、メモリカードなども
 別ドライブとして分離されて管理してます。

・ドライブの中には、フォルダの階層があり、
 各フォルダの中にはファイルもしくはさらに
 フォルダが含まれている。
 階層の一番上を「ルート」と呼びます。

・ドライブごとにNTFSやFAT、exFATのような
 ファイルシステムのタイプを持つことができます。

・名前中のアルファベットの大文字/小文字の違いは
 無視される(区別されない)


ファイルやフォルダを表現する「パス名」

コマンドプロンプトでは、ファイルやフォルダを指し示すために、
パス名」という表記方法が使われます。
パス名とは次のように、ドライブ名とルートを表す「¥」、
フォルダ階層名、ファイル名を「¥」で区切って並べたものである。
名前の途中に空白記号を含む場合は全体を引用符「"」で囲む。
囲まないと、空白文字がコマンドやパラメータの区切りとして
扱われてしまうから
(例:「dir "C:¥Program Files"」のつもりで「dir C:¥Program Files」としてはいけない)。

wi-cmdlinefig202.png
パス名を構成する要素
パス名とは、ファイルシステム上のファイルや
フォルダの場所を表す指定方法。
パス名の制限は次の通りです。
・空白を含む場合は全体を引用符で囲む
・最大パス長は、ドライブ名から始めて、
 全体で260文字まで(アルファベットも漢字文字も1文字と数える)
・大文字/小文字は区別されない


現在の場所を表す「カレントドライブ」と
「カレントフォルダ(カレントディレクトリ)」

Windows OSには、「カレントドライブ」や「カレントフォルダ
カレントディレクトリとも言いますが、全てフォルダで統一する)という
特別な概念があります。
ファイル名やフォルダ名などの指定が絶対パス表記
になっていない場合、必要に応じてこのカレントドライブや
カレントフォルダの情報が補われて、
最終的なファイルやフォルダの場所(パス)が決定されます。

wi-cmdlinefig203.png
カレントドライブとカレントフォルダ
notepadとはメモ帳アプリのこと。
「notepad <ファイル名>」とすると、
そのファイルがメモ帳で開かれる。
カレントフォルダ(この例ではC:¥abc)以外の場所にある
ファイルを開く場合は、
その場所を表すフォルダパスの指定を
前に付ける必要があります。


カレントドライブとは、パス指定にドライブ名が
含まれていない場合に使われる、
デフォルトのドライブ名のことです。
コマンドプロンプトを起動した直後は、
(何も設定していないと)C:がカレントドライブとなってます。

カレントフォルダとは、パス指定が「¥(ルート)」から
始まっていない場合に使われる、
デフォルトのフォルダのことです。

起動直後のコマンドプロンプトウィンドウには、
プロンプト記号として
「C:¥Users¥user01>」のように表示されますが。

れはカレントドライブが「C:」、カレントフォルダがC:の
「¥Users¥user01」であることを表しています。

wi-cmdlinefig204.png
カレントドライブとカレントフォルダの表示


注意したいのが、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――エクスプローラからファイルをドラッグ&ドロップする

エクスプローラでファイルやフォルダを選択し、
それをコマンドプロンプト上へドラッグ&ドロップすると、
フルパス名がカーソル位置に自動的に入力されます。
パス名中に空白文字が含まれている場合は
全体が引用符で囲まれるので便利です。

wi-cmdlinefig205.png
エクスプローラからのドラッグ&ドロップ


★方法3――エクスプローラでフルパス名を取得して、
 それをコマンドプロンプトへ貼り付ける

エクスプローラでファイルやフォルダを選択し、
[Shift]キーを押しながら右クリックするとポップアップメニューに
[パスとしてコピー]という項目が表示されます。
これを実行するとフルパス名がクリップボードに
コピーされるので、それをコマンドプロンプトへ
「貼り付け」ればよいです。
コマンドプロンプトへクリップボードの内容を貼り付けるには、
コマンドプロンプト上でマウスを右クリックする。



にほんブログ村 IT技術ブログへ
関連記事
スポンサーサイト



コメント


管理者のみに表示