如何在PowerShell中使用Push-Location和Pop-Location命令?

PowerShell中的Push-Location命令用于将当前位置推送(添加)到位置堆栈(后进先出(LIFO)-队列),而Pop-Location将从堆栈中检索最后一个位置。

当PowerShell控制台打开时,没有位置设置到堆栈。

PS C:\> Get-Location -Stack
PS C:\>

当您键入Push-Location命令时,它一次执行两项操作。首先,它将当前位置保存到堆栈的顶部,其次,浏览指定的路径。如果未指定路径,则仅将当前位置移动到堆栈。例如,

PS C:\> Push-Location
PS C:\> Get-Location -Stack
Path
----
C:\

我们现在将指定路径,

PS C:\> Push-Location C:\Temp\
PS C:\Temp> Get-Location -Stack
Path
----
C:\
C:\

在上面的示例中,当前位置为C:\,因此命令将其压入堆栈,然后移动到该指定目录。假设我们正在将另一个位置推入堆栈。

PS C:\Temp> Push-Location C:\Temp\iisadministration\
PS C:\Temp\iisadministration> Get-Location -Stack
Path
----
C:\Temp
C:\
C:\

在上面的示例中,C:\ Temp是当前位置,因此它位于堆栈的顶部。要跳到最后一个位置,我们需要使用Pop-Location命令。例如,

PS C:\Temp\iisadministration> Pop-Location
PS C:\Temp>

当您运行Pop-Location命令时,队列中的最后一个项目(最近的项目)将被删除。让我们检查一下堆栈。

PS C:\Temp> Get-Location -Stack
Path
----
C:\
C:\

您还可以创建一个新的堆栈来推送该位置,然后可以使用Pop-Location命令从特定堆栈中检索该位置。例如,

PS C:\Windows\System32> Push-Location WindowsPowerShell -StackName Stack2
PS C:\Windows\System32\WindowsPowerShell> Get-Location -StackName Stack2
Path
----
C:\Windows\System32

在上面的示例中,我们创建了一个名为“ Stack2”的新堆栈,并将当前位置推送到该位置,您可以使用特定堆栈的Get-Location命令看到该位置已插入新堆栈中。

要从该堆栈中检索数据,

PS C:\Windows\System32\WindowsPowerShell> Pop-Location -StackName stack2
PS C:\Windows\System32>
猜你喜欢