Set-Locationの使い方:カレントディレクトリを変更する

広告

Set-Location コマンドレットを使用すると、カレントディレクトリを指定したディレクトリに変更できます。ディレクトリを移動して作業場所を切り替える時にに使用する、基本のコマンドレットの 1 つです。ここでは PowerShell における Set-Location コマンドレットの使い方について解説します。

Set-Locationコマンドレットの書式

Set-Location コマンドレットは、カレントディレクトリを指定したディレクトリへ変更できます。 Set-Location コマンドレットの書式は次の通りです。

Set-Location
  [[-Path] <String>]
  [-PassThru]
  [<CommonParameters>]

Set-Location はエイリアスとして cdchdirsl が定義されています。

cd -> Set-Location
chdir -> Set-Location
sl -> Set-Location

カレントディレクトリを指定したパスに変更するには、 -Path オプションを使って次のように実行します。

Set-Location -Path パス

-Path オプションは省略可能なので、通常は次のように実行します。

Set-Location パス

それでは、カレントディレクトリを c:\pg\MySQL へ変更します。次のように実行してください。

Set-Location c:\pg\MySQL

カレントディレクトリが指定したパスに変更されます。

Set-Locationコマンドレットの使い方(1)

パスを省略すると、ユーザーのホームディレクトリに移動します。次のように実行してください。

Set-Location

カレントディレクトリがユーザーのホームディレクトリに変更されます。

Set-Locationコマンドレットの使い方(2)

またパスとして次のような値を指定することもできます。

.     : 現在のディレクトリ
..    : 1つ上の階層に移動する
\     : 現在のドライブのルートへ移動する
~     : ユーザーのホームディレクトリへ移動する

パスに .. を指定すると、 1 つ上の階層に移動します。

Set-Location ..

Set-Locationコマンドレットの使い方(3)

パスに \ を指定すると、現在のドライブのルートへ移動します。

Set-Location \

Set-Locationコマンドレットの使い方(4)

パスに ~ を指定すると、ユーザーのホームディレクトリへ移動します。

Set-Location ~

Set-Locationコマンドレットの使い方(5)

履歴を使って移動する

Set-Location を使ってカレントディレクトリを移動すると、履歴として最大 20 個まで記憶されます。

例えば Set-Location を使って次のようにカレントディレクトリを移動した場合、移動してきたディレクトリの履歴を 20 個まで記憶しています。

C:\AAA --> C:\BBB --> C:\CCC --> C:\DDD

Set-Location のパスに - を指定すると、履歴の 1 つ前の位置に移動することができます。例えば現在 C:\DDD がカレントディレクトリになっていて、ここで Set-Location - と実行すると、カレントディレクトリが C:\CCC へ移動します。

Set-Location -

また Set-Location のパスに + を指定すると、履歴の次の位置に移動することができます。例えば現在 C:\DDD から Set-Location - を実行して C:\CCC に移動した状態だとすると、 Set-Location + と実行すると、カレントディレクトリが C:\DDD へ移動します。

Set-Location +

では実際の例で試してみます。現在のカレントディレクトリは c:\code\powershell です。

PS C:\code\powershell>

Set-Location を使って C:\pg\MySQL へ移動します。

PS C:\code\powershell> Set-Location c:\pg\MySQL
PS C:\pg\MySQL>

次に Set-Location を使って C:\code\python へ移動します。

PS C:\code\powershell> Set-Location c:\pg\MySQL
PS C:\pg\MySQL> Set-Location c:\code\python
PS C:\code\python>

ここで Set-Location - と実行すると、一つ前の履歴にある C:\pg\MySQL へ移動します。

PS C:\code\powershell> Set-Location c:\pg\MySQL
PS C:\pg\MySQL> Set-Location c:\code\python
PS C:\code\python> Set-Location -
PS C:\pg\MySQL>

もう一度 Set-Location - と実行すると、一つ前の履歴にある C:\code\powershell へ移動します。

PS C:\code\powershell> Set-Location c:\pg\MySQL
PS C:\pg\MySQL> Set-Location c:\code\python
PS C:\code\python> Set-Location -
PS C:\pg\MySQL> Set-Location -
PS C:\code\powershell>

ここで Set-Location + と実行すると、履歴の次の位置にある C:\pg\MySQL へ移動します。

PS C:\code\powershell> Set-Location c:\pg\MySQL
PS C:\pg\MySQL> Set-Location c:\code\python
PS C:\code\python> Set-Location -
PS C:\pg\MySQL> Set-Location -
PS C:\code\powershell> Set-Location +
PS C:\pg\MySQL>

実際の操作画面は下記をご覧ください。

Set-Locationコマンドレットの使い方(6)

このようにパスに -+ を指定することで、履歴に残っているディレクトリの位置へ簡単に移動することができます。

例えば 2 つのディレクトリ間をいったりきたりしながら作業するような場合に、便利な機能です。

-- --

PowerShell における Set-Location コマンドレットの使い方について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。