Push Location - PowerShell


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.


Push-Location [-Path] <string> [-Name] <string> [-Credential] <PSCredential> [-PassThru] [-ErrorAction] <ErrorAction>


| 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 |


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.


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.

  • Set-Location
  • Get-Location
  • Cd (alias for Set-Location)