Windowsのポチポチ操作を爆速化するPowerShellの絶対条件!ディレクトリとその移動をマスターしよう!


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

前回の記事はこちらです。

Windowsのポチポチ業務を爆速化するPowerShell、キーボードを使わずササっと起動する方法
Windowsのマウス業務を爆速化するCUI=PowerShell。キーボードを使わずにササっと起動してHelloWorldをやってみましょう!

前回は、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種類の指定方法があります。

相対パスで移動する

Set-Location <変更したいディレクトリのパス>

この変更したいディレクトリのパスには、カレントディレクトリより下の部分だけ書けばオッケーです。

これを相対パスで指定するといいます。

言葉だけではイメージがわきにくいので例を挙げますね。

「Get-Childitem」というコマンドレットを打ってエンターを押してください。

はい、このようにずらっとディレクトリが表示されました。

「Get-Childitem」はパスの指定なしで入力するとカレントディレクトリのサブディレクトリとファイルをすべて表示してくれるコマンドレットです。

では、赤字で囲った「Desktop」というサブディレクトリへ移動してみたいと思います。

相対パスで指定ですので、カレントディレクトリの「C:\Users\terad」は記載不要です。

Set-Location Desktop

とすればオッケーです。

コマンドを打ってエンターを押すと…

この通り、カレントディレクトリが「C:\Users\terad」から「C:\Users\terad\Desktop」に変更されました。

一気に深い階層のディレクトリへ移動する

一階層下ではなく、一気に深い階層のサブディレクトリへ移動することもできます

例を示しますね。

デスクトップ上に「Sample」というフォルダを用意してみました。

カレントディレクトリを最下層のサブディレクトリの一つ「sample01」に変更します。

Set-Location Desktop\sample\sample01

と、Desktop~sample01までを「\」でつないで指定します。

このようにディレクトリを「\」でつないだものをパスと言います。

このコマンドレットを実行すると…

このようにディレクトリをつなげたパスを指定することで、一気に深い階層まで移動することができます。

絶対パスで移動する

最上位である「C:\」(Cドライブ)を含めた頭からお尻までのパスをすべて入力しても、カレントディレクトリを変更することができます。

これを絶対パスで指定するといいます。

Set-Location <パス全て>

さきほどデスクトップに作った「sample > sample01」というサブディレクトリに、絶対パスで指定してこのディレクトリに移動してみます。

Set-Location C:\Users\terad\Desktop\sample\sample01

このコマンドレットを実行すると…

はい、カレントディレクトリが変更できました。

相対パスだけでなく、このように絶対パス=頭からお尻までのパス全ての入力もできることを覚えておきましょう。

親ディレクトリへ移動する

親ディレクトリへ移動するには、サブディレクトリの時と同様にSet-Locationを使うのですが、パスを入力する位置に「..」とドットを二つ並べます

Set-Location ..

このコマンドレットを実行すると…

はい、このようにカレントディレクトリが親ディレクトリに変更されました。

親ディレクトリは一つしかありません。

よって親ディレクトリに変更する場合は、パスやディレクトリの入力は必要ないんですね。

まとめ

いかがでしたか?

今回はCUIの基礎であるディレクトリとは何かディレクトリの移動方法についてご説明しました。

次回はコマンドレットを短く書くためのエイリアスという機能をご紹介します。

最後までお読みいただきありがとうございました!

連載目次:Windowsのポチポチ業務を爆速化するPowerShell

Windowsのポチポチ業務(マウスを使った業務)を爆速化するために、PowerShellを使った効率化の方法をお伝えしています。
  1. Windowsのポチポチ業務を爆速化するPowerShell、はじめのハードルぐーーんと下げてみます!
  2. Windowsのポチポチ業務を爆速化するPowerShell、キーボードを使わずササっと起動する方法
  3. Windowsのポチポチ操作を爆速化するPowerShellの絶対条件!ディレクトリとその移動をマスターしよう!
  4. Windowsのポチポチ業務を爆速化するPowerShell、コマンドレットを腹の底から理解する!
  5. Windowsのポチポチ業務を爆速化するPowerShell、オンラインヘルプでコマンドレットを使い倒す!
  6. Windowsのポチポチ業務を爆速化するPowerShell、統合開発環境ISEを紹介します!
  7. Windowsのポチポチ業務を爆速化するPowerShell、スクリプトを実行するための準備
  8. Windowsのポチポチ業務を爆速化するPowerShell、フォルダを作るスクリプトの作り方
  9. Windowsのポチポチ業務を爆速化するPowerShell、if文を使いフォルダの有無で処理を分岐させる方法
  10. Windowsのポチポチ業務を爆速化するPowerShell、ForEach-Objectで配列の全要素を処理する方法
  11. Windowsのポチポチ業務を爆速化するPowerShell、パイプラインを使いコマンドレット間で値を引き渡す方法
  12. Windowsのポチポチ業務を爆速化するPowerShell、ファイルを別フォルダにコピーし名称を変更する方法
  13. Windowsのポチポチ業務を爆速化するPowerShell、ファイル名を変更する方法
  14. Windowsのポチポチ業務を爆速化するPowerShell、正規表現で複雑なファイル名変更をする方法
  15. Windowsのポチポチ業務を爆速化するPowerShell、タスクスケジューラでスクリプトを決まった日時に起動する方法
  16. Windowsのポチポチ業務を爆速化するPowerShell、ファイルをバックアップするスクリプトの作り方
  17. Windowsのポチポチ業務を爆速化するPowerShell、関数を作ってスクリプトから呼び出す方法
  18. Windowsのポチポチ業務を爆速化するPowerShell、関数をコンソールで登録して呼び出す方法
  19. Windowsのポチポチ業務を爆速化するPowerShell、短いワードでサッと関数を呼び出すエイリアスの使い方
  20. Windowsのポチポチ業務を爆速化するPowerShell、関数やエイリアス保存場所のドライブを紹介します
  21. Windowsのポチポチ業務を爆速化するPowerShell、elseifで日付の元号を判定する方法
  22. Windowsのポチポチ業務を爆速化するPowerShell、日付を操るDatetime型

タイトルとURLをコピーしました