Set-Location în PowerShell

Fișiere și foldere Windows PowerShell 1.0

Schimbă folderul curent (cd); Get-Location îl afișează, iar Push-Location și Pop-Location salvează și refac locațiile pe o stivă.

Sintaxă
Set-Location [[-Path] <string>] [-PassThru]
Get-Location
Push-Location [[-Path] <string>]
Pop-Location

Ce face Set-Location

Set-Location schimbă locația curentă: un folder, dar și o cale din alt provider, de exemplu HKLM:\ sau Env:\. Aliasurile sunt cd, chdir și sl. Fără cale, te duce în folderul personal al utilizatorului. Comanda nu afișează nimic; cu -PassThru întoarce noua locație.

Get-Location (aliasuri pwd și gl) întoarce locația curentă ca obiect PathInfo. Din PowerShell 6.2, Set-Location - te întoarce la locația anterioară și Set-Location + merge înainte în istoric; PowerShell ține minte ultimele 20 de locații.

Push-Location (alias pushd) pune locația curentă pe o stivă și, dacă îi dai o cale, te mută acolo. Pop-Location (alias popd) scoate ultima locație de pe stivă și te întoarce în ea. Perechea e utilă în scripturi care lucrează temporar în alt folder.

Parametri

Parametru Descriere
-Path Noua locație. Poate fi relativă (.., facturi), absolută sau - / + pentru istoric (din 6.2).
-LiteralPath Calea folosită exact cum e scrisă, fără wildcard-uri.
-PassThru Întoarce un obiect PathInfo cu noua locație.
-StackName La Push-Location / Pop-Location: lucrează cu o stivă numită în loc de cea implicită.
Get-Location -Stack Afișează locațiile salvate pe stiva curentă.

Ce returnează

Set-Location, Push-Location și Pop-Location nu întorc nimic implicit (un PathInfo cu -PassThru); Get-Location întoarce un PathInfo.

Exemple

Exemplul 1: Intră într-un folder și verifică unde ești

Set-Location nu afișează nimic; Get-Location confirmă locația curentă.

Set-Location -Path C:\Proiecte\facturi
Get-Location

Ieșire în terminal

Path
----
C:\Proiecte\facturi

Exemplul 2: Înapoi la locația anterioară cu cd –

Din PowerShell 6.2, cd – (adică Set-Location -Path -) te întoarce unde erai înainte, ca în Bash.

cd C:\Proiecte
cd facturi
cd -
Get-Location

Ieșire în terminal

Path
----
C:\Proiecte

Exemplul 3: Lucru temporar în alt folder cu Push-Location și Pop-Location

Push-Location ține minte folderul de facturi, Pop-Location te readuce în el după ce ai terminat în C:\Windows\Temp.

Set-Location C:\Proiecte\facturi
Push-Location C:\Windows\Temp
Get-Location
Pop-Location
Get-Location

Ieșire în terminal

Path
----
C:\Windows\Temp

Path
----
C:\Proiecte\facturi

Greșeli frecvente

  • Căile cu spații trebuie puse între ghilimele: Set-Location 'C:\Proiecte\Cafenea Iași'. Fără ghilimele, PowerShell vede două argumente și dă eroare.
  • În scripturi, cd schimbă locația sesiunii PowerShell, dar nu și [System.Environment]::CurrentDirectory folosit de metodele .NET. Dă căi complete metodelor .NET (de exemplu (Resolve-Path .\note.txt).Path).
  • Pe macOS și Linux căile țin cont de majuscule: cd ~/proiecte și cd ~/Proiecte sunt foldere diferite.

Comenzi înrudite

  • Get-ChildItem: Listează fișierele și folderele dintr-o locație, opțional recursiv, filtrate după nume sau tip (echivalentul lui dir și ls).
  • Test-Path: Verifică dacă o cale există și întoarce True sau False; poate cere să fie fișier sau folder și să fie mai nouă decât o dată.
  • New-Item: Creează un fișier, un folder sau un link; poate pune și conținut inițial în fișierul nou.
  • Comenzi CMD și echivalentul PowerShell: Ce folosești în PowerShell în locul comenzilor CMD obișnuite (dir, cd, copy, del, ipconfig, ping, tasklist, taskkill, set).
  • PowerShell pe macOS și Linux: Cum instalezi și pornești PowerShell 7 (pwsh) pe macOS și Linux și ce se comportă diferit față de Windows: aliasuri, majuscule, căi.