Windowsのポチポチ業務(マウスを使った業務)を爆速化するために、PowerShellを使った効率化の方法をお伝えしています。
前回の記事はこちらです。

前回は、WindowsでPowerShellをキーボードを使わずにササっと起動する方法をご説明しました。
今回はPowerShellのようなCUI(コマンドユーザーインターフェース)を使う上で重要なカレントディレクトリ、親ディレクトリ・サブディレクトリ、ルートディレクトリという考え方を説明します。
ディレクトリとは、Windowsでいうフォルダのことなのですが、2つの用語には微妙な違いもありますのでその辺りもご説明していきます。
CUIの基礎となっている考えなので、しっかり理解しておけば後の学習が楽になりますよ!
まずディレクトリについて理解し、最後にディレクトリの移動をマスターしていきます。
それではいってみましょう!
ディレクトリとは
「ディ、ディ、ディレクトリ?」と身構えることはありません。
ディレクトリとは、実は「フォルダ」のことです。
今後ディレクトリと出てきたら「なーんだフォルダのことかぁ」と思っていただればバッチリです。
ディレクトリとフォルダはほとんど同じなのですが、厳密にはフォルダはWindowsユーザーのためにディレクトリを仮想化して見やすくしたもの、ディレクトリは実際にディスク上に作成された階層構造といった意味合いも持ちます。
CUIは直接ディレクトリを扱うため、今後はディレクトリに統一してお話を進めます。
はい、これでこの節は終わり…とはさすがにいきません(笑)
冒頭でご説明したように、カレントディレクトリ、親ディレクトリ・サブディレクトリ、ルートディレクトリの概念の理解が必要になりますので、順番に説明していきますね。
カレントディレクトリ
カレントは直訳すると現在という意味です。
カレントディレクトリ=現在のディレクトリということですね。
現在、操作対象になっているフォルダですよという意味です。
カレントディレクトリは普段のマウス操作でいうとエクスプローラで現在選択されているディレクトリのことと思ってください。
PowerShellの画面の左上を見てください。
「PS C:\Users\terad>」という1文があります。前回ご紹介したプロンプトですね。
(teradは筆者のユーザディレクトリです。)
この「C:\Users\terad」がカレントディレクトリとなります。
これはエクスプローラで
このように選択しているのと同じ状態と思ってください。
結局やっていることは同じですので、普段のマウス操作と比較すると理解しやすいですね。
ただしアドレスバーの表示が「Windows(C:) > ユーザー > ユーザー名 >」というようにPowerShellに表示されているカレントディレクトリ「C:\Users\terad」とは異なっています。
Windowsユーザーにわかりやすいようにカナ表記で表示されているだけで、アドレスバーを選択してやると…
このように正しいディレクトリ名が表示されます。
エクスプローラの表示と実際のディレクトリ名が違う場合があるので、注意してくださいね。
親ディレクトリ・サブディレクトリ
ディレクトリとはハードディスク上に作られた階層構造のことです。
階層構造というと何やら難しそうですが、皆さんも普段ディレクトリの中にディレクトリを作るということはよくやっていると思います。
階層構造とはこのような入れ子の構造のことです。
この例のディレクトリ名の通り、上位のディレクトリのことを親ディレクトリ、下位のディレクトリのことをサブディレクトリと言います。
親ディレクトリに中には、複数のディレクトリを作ることができます。
サブディレクトリから見たら、親ディレクトリは必ず1つになります。
ルートディレクトリ
「C:\Users\terad」のうち「C:\」のことをルートディレクトリといい、最上位のディレクトリのことを指します。
ディレクトリ名のあとに「:」をつけますので注意してください。
このように階層構造は図でイメージするとわかりやすいですね。
さて、ディレクトリの基本的な考え方を理解したところでディレクトリの移動に入りましょう!
ディレクトリを移動する
ディレクトリを移動する方法には、サブディレクトリへ移動する方法と、親ディレクトリに移動する方法の2つがあります。
サブディレクトリへ移動する
サブディレクトリへ移動する方法は、実はカレントディレクトリを変更することにほかなりません。
カレントディレクトリを変更するにはSet-Locationというコマンドレットを使います。
Set-Locationの後ろに、変更先のディレクトリのパスを指定するのですが、相対パスと絶対パスと2種類の指定方法があります。
相対パスで移動する
この変更したいディレクトリのパスには、カレントディレクトリより下の部分だけ書けばオッケーです。
これを相対パスで指定するといいます。
言葉だけではイメージがわきにくいので例を挙げますね。
「Get-Childitem」というコマンドレットを打ってエンターを押してください。
はい、このようにずらっとディレクトリが表示されました。
「Get-Childitem」はパスの指定なしで入力するとカレントディレクトリのサブディレクトリとファイルをすべて表示してくれるコマンドレットです。
では、赤字で囲った「Desktop」というサブディレクトリへ移動してみたいと思います。
相対パスで指定ですので、カレントディレクトリの「C:\Users\terad」は記載不要です。
とすればオッケーです。
コマンドを打ってエンターを押すと…
この通り、カレントディレクトリが「C:\Users\terad」から「C:\Users\terad\Desktop」に変更されました。
一気に深い階層のディレクトリへ移動する
一階層下ではなく、一気に深い階層のサブディレクトリへ移動することもできます。
例を示しますね。
デスクトップ上に「Sample」というフォルダを用意してみました。
カレントディレクトリを最下層のサブディレクトリの一つ「sample01」に変更します。
と、Desktop~sample01までを「\」でつないで指定します。
このようにディレクトリを「\」でつないだものをパスと言います。
このコマンドレットを実行すると…
このようにディレクトリをつなげたパスを指定することで、一気に深い階層まで移動することができます。
絶対パスで移動する
最上位である「C:\」(Cドライブ)を含めた頭からお尻までのパスをすべて入力しても、カレントディレクトリを変更することができます。
これを絶対パスで指定するといいます。
さきほどデスクトップに作った「sample > sample01」というサブディレクトリに、絶対パスで指定してこのディレクトリに移動してみます。
このコマンドレットを実行すると…
はい、カレントディレクトリが変更できました。
相対パスだけでなく、このように絶対パス=頭からお尻までのパス全ての入力もできることを覚えておきましょう。
親ディレクトリへ移動する
親ディレクトリへ移動するには、サブディレクトリの時と同様にSet-Locationを使うのですが、パスを入力する位置に「..」とドットを二つ並べます。
このコマンドレットを実行すると…
はい、このようにカレントディレクトリが親ディレクトリに変更されました。
親ディレクトリは一つしかありません。
よって親ディレクトリに変更する場合は、パスやディレクトリの入力は必要ないんですね。
まとめ
いかがでしたか?
今回はCUIの基礎であるディレクトリとは何か、ディレクトリの移動方法についてご説明しました。
次回はコマンドレットを短く書くためのエイリアスという機能をご紹介します。
最後までお読みいただきありがとうございました!