Muni Bus

パソコンの操作方法や設定方法を忘れないようにメモしています。ブログを一回引っ越ししているので、所々表示がかなり乱れています・・・

【PowerShell】カレントディレクトリを取得する

PowerShellにおけるカレントディレクトリは以下の2つが存在する。

  1. プロンプトに表示されているディレクト
  2. PowerShellのウィンドウを表示するために実行されたpowershell.exe(PowerShellのウィンドウの実体)の作業フォルダー(ディレクトリ)

一般に「カレントディレクトリ」は前者を指すが、コマンドによっては後者が戻り値であったり基準となる場合もあるので注意。

前者を得るにはGet-Locationコマンドレットを、後者を得るにはSystem.IO名前空間のDirectoryクラスのGetCurrentDirectoryメソッドを使う。 前者のカレントディレクトリを変更するコマンドレットはSet-Location、後者は[IO.Directory]::SetCurrentDirectory("×××")である。

以下はスタートメニューの「Windows PowerShell」→「Windows PowerShell」から起動した状態による動作例。スタートメニューから起動すると、通常powershell.exeはホームドライブのホームパス(「C:\Users\○○○」、○○○はアカウント名)をカレントディレクトリにして起動する。

PS C:\Users\○○○> Get-Location
Path
----
C:\Users\○○○
PS C:\Users\○○○> [IO.Directory]::GetCurrentDirectory()
C:\Users\○○○
PS C:\Users\○○○> Set-Location C:\Windows\Fonts
PS C:\Windows\Fonts> Get-Location
Path
----
C:\Windows\Fonts
PS C:\Windows\Fonts> [IO.Directory]::GetCurrentDirectory()
C:\Users\○○○
PS C:\Windows\Fonts> Set-Location D:\
PS D:\> Get-Location
Path
----
D:\
PS D:\> [IO.Directory]::GetCurrentDirectory()
C:\Users\○○○
PS D:\> [IO.Directory]::SetCurrentDirectory("C:\Windows\Help")
PS D:\> Get-Location
Path
----
D:\
PS D:\> [IO.Directory]::GetCurrentDirectory()
C:\Windows\Help