Push Location - PowerShell
Overview
Push-Location is a PowerShell command used to temporarily change the current working directory. This allows you to execute commands and access files in a different location without permanently modifying your working directory. It’s particularly useful when you need to work with files and folders in multiple locations without navigating manually.
Syntax
Push-Location [-Path] <string> [-Name] <string> [-Credential] <PSCredential> [-PassThru] [-ErrorAction] <ErrorAction>
Options/Flags
| Option | Description | Default |
|—|—|—|
| -Path | The path to the new working directory. | Required |
| -Name | The name of the session to push. | Session1 |
| -Credential | A PSCredential object to use when accessing the new location. | Current user credentials |
| -PassThru | Returns the updated session object. | False |
| -ErrorAction | Specifies the action to take when an error occurs. | Stop |
Examples
Simple Example:
Push-Location "C:\Documents\My Documents"
This command changes the current working directory to “C:\Documents\My Documents”.
Complex Example:
Push-Location "C:\Documents\My Documents" -Credential (Get-Credential mydomain\myusername)
This command changes the current working directory to “C:\Documents\My Documents” using the specified credentials.
Common Issues
- Permission Denied: Ensure you have sufficient permissions to access the target directory.
 - Invalid Path: Verify that the specified path is correct and exists.
 
Integration
Push-Location can be integrated with other commands for automation:
PS> Push-Location "C:\Temp"
PS> Get-Item
This sequence pushes the working directory to “C:\Temp” and then executes Get-Item in that directory.
Related Commands
Set-LocationGet-LocationCd(alias forSet-Location)