もくじ
📝 はじめに
PowerShellを使って作業していると、
「今いるフォルダを移動したい」
「別のディレクトリを基準にコマンドを実行したい」
と思う場面は多いのではないでしょうか。
特にファイル操作やスクリプト作成では、
カレントディレクトリ(現在の場所)を正しく把握・変更することが重要です。
その役割を担うのが Set-Location です。
- 別フォルダを基準に処理を実行したい
- 長いパスを毎回書かずに作業したい
- スクリプト内で作業場所を切り替えたい
✅ このコマンドでできること(要点)
- 現在の作業ディレクトリを変更できる
- 相対パス・絶対パスの両方に対応
- スクリプト内で処理場所を制御できる
- cmd の cd と同様の役割を持つ
✅ Set-Location でできること
Set-Location は、
PowerShellでの現在の作業場所(カレントディレクトリ)を変更するためのコマンドです。
以降に実行するコマンドは、
変更後のディレクトリを基準として動作します。
ファイル操作を効率よく行うための基本中の基本です。
考え方としては「作業場所を移動してから作業する」と覚えると分かりやすいでしょう。
🧩 基本構文
Set-Location -Path "移動先のパス"
-Path は省略可能で、
パスだけを指定しても動作します。
▶ 基本的な使い方(まずこれだけ)
🔹 絶対パスで移動する
Set-Location "C:\Windows"
指定したフォルダに移動できていれば成功です。
Get-Location で確認できます。
🔹 相対パスで移動する
Set-Location ..
1つ上の階層へ移動します。
エラーが出なければ正常に移動できています。
🛠 よく使われる指定例
🔹 サブフォルダへ移動する
Set-Location ".\Logs"
現在のディレクトリ配下にある
Logs フォルダへ移動します。
🔹 ドライブを切り替える
Set-Location D:\
ドライブ指定もそのまま行えます。
💼 実務でよく使う使用例(応用)
🔹 スクリプト内で作業場所を固定する
Set-Location "C:\Work"
Get-ChildItem
🔹 元の場所に戻る
Push-Location "C:\Temp"
# 作業
Pop-Location
- Get-Location で現在位置を確認
- Push-Location / Pop-Location で一時移動
- Get-ChildItem と組み合わせてファイル操作
🧩 よくある勘違い・つまずきポイント
- 存在しないパスには移動できない
- 権限がないフォルダではエラーになる
- 相対パスの基準は現在の場所
- スクリプト実行時の初期位置を誤解しやすい
- UNCパスでも使用できる
🔄 cmdとの違いについて
cmd では cd を使ってディレクトリを移動しますが、
PowerShellでは Set-Location が正式なコマンドです。
なお、cd や sl は
Set-Location のエイリアスとして使えます。
⚠ エラー・うまく動かないときの確認ポイント
- 指定したパスが存在しているか
- 全角・半角やスペルミスがないか
- アクセス権限が不足していないか
- UNCパス指定が正しいか
🧠 注意点
スクリプト内で頻繁に
Set-Location を使うと、
処理の流れが追いにくくなる場合があります。
必要に応じて元の場所へ戻す設計を意識しましょう。
📌 まとめ
- Set-Location は作業ディレクトリを変更する基本コマンド
- 相対パス・絶対パスの両方に対応
- スクリプトの可読性と効率を高められる
- 次は Push-Location / Pop-Location も覚えると便利
🔎 PowerShellコマンドを探す
やりたいことからコマンドを探すこともできます。
- ファイルを削除したい
- 一覧を表示したい
- 文字列を検索したい
- 条件で絞り込みたい
- エラーや実行できない原因を調べたい
- 作業ディレクトリを変更したい
- スクリプトの基準パスを制御したい
