当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] PowerShell 更改目录 |了解如何更改目录?

作者:精品下载站 日期:2024-12-14 04:48:13 浏览:14 分类:玩电脑

PowerShell 更改目录 |了解如何更改目录?


[玩转系统] PowerShell 更改目录 |了解如何更改目录?

PowerShell更改目录简介

PowerShell 更改目录是通过 cmdlet 导航文件系统的术语,它们在脚本中非常有助于处理当前文件和文件夹或文件和文件夹的相对路径。各种 cmdlet 对于处理当前位置、设置所需位置、跟踪先前位置以及将位置存储在堆栈中非常有用,甚至可以为 PSDrive 设置位置,例如证书、注册表等。

语法

以下是用于更改目录语法的 cmdlet。

  • cd 命令更改路径。
cd -Path DirectoryPath -PassThru
  • 设置位置命令
Set-Location -Path DirectoryPath -PassThru
  • Push-Location 命令将路径推入堆栈。
Push-Location -Path DirectoryPath -PassThru
  • Pop-Location 命令从堆栈中弹出位置。
Pop-Location -PassThru

或者从特定堆栈中检索它,

Pop-Location -StackName stack1 -PassThru

如何在PowerShell中更改目录?

要更改 PowerShell 中的目录,我们使用各种 cmdlet。操作系统中有绝对路径和相对路径。绝对路径是指特定目录、文件或应用程序的完整路径。例如,C:\Windows\notepad.exe,相对路径表示 Notepad.exe 等直接路径。

绝对路径可以从任何目录访问,而相对路径只能从当前目录访问,除非 Windows 操作系统创建了任何快捷方式。

Set-Location 命令具有诸如(cd、sl、chdir)之类的别名,我们可以使用此命令通过使用绝对路径或相对路径将位置更改为提到的目录。

还有另一种方法可以使用 Push-Location 命令更改位置。当我们指定 Push-Location 命令时,PowerShell 将当前位置压入堆栈,然后将位置更改为路径指定的位置。使用 Pop-Location 命令使用堆栈中的最后一个位置来更改位置。

默认情况下,Push-Location 使用默认堆栈来推送位置,但我们可以创建一个新堆栈并在其中添加新位置。

示例

以下是下面提到的示例

例子#1

使用“cd”命令更改位置。

cd C:\Temp\

上述命令会将位置更改为 C:\temp。

[玩转系统] PowerShell 更改目录 |了解如何更改目录?

默认情况下,当您不指定任何内容时,会包含路径参数。上面的命令类似于,

cd -Path C:\Temp\ -PassThru

例如,您还可以使用 chdir 或 sl 别名来设置上述路径。

chdir -Path C:\Temp\ -PassThru

或者

sl -Path C:\Temp\ -PassThru

要将目录更改为以前的位置,您需要使用“..”(双点)语法。

cd..

或者

cd -Path .. -Passthru

输出:

[玩转系统] PowerShell 更改目录 |了解如何更改目录?

例子#2

使用设置位置命令。

虽然上述示例是 Set-Location 命令的别名,但许多脚本通常都会使用 Set-Location 命令。我们已经在上面的例子中讨论了设置路径。在此示例中,我们将讨论设置不同的 PS 位置(如证书、注册表等),以及使用堆栈更改目录。

您可以将位置更改为以下所有驱动器。

Get-PSDrive

输出:

[玩转系统] PowerShell 更改目录 |了解如何更改目录?

要设置证书的位置,请使用以下命令。

PS C:\> Set-Location -Path Cert:\

输出:

[玩转系统] PowerShell 更改目录 |了解如何更改目录?

您可以使用 Get-Location 命令检查当前位置。

[玩转系统] PowerShell 更改目录 |了解如何更改目录?

您可以通过使用上述任何命令更改目录来返回到 windows 目录。

cd c:

输出:

[玩转系统] PowerShell 更改目录 |了解如何更改目录?

将位置设置为证书后,您可以浏览证书路径,并且自动完成功能也可以与 TAB 按钮配合使用。例如,

cd .\LocalMachine\AuthRoot\

要浏览目录的内容,您可以使用 dir 或 Get-ChildItem 命令。

同样,要设置本地计算机的注册表路径,我们可以使用以下命令。

Set-Location -Path HKLM:\SOFTWARE\

例子#3

通过“+”或“-”浏览位置历史记录。

PS C:\> Set-Location -Path HKLM:\HARDWARE\
PS HKLM:\HARDWARE\> Set-Location -Path $env:SystemRoot
PS C:\Windows> Set-Location -Path C:\

我们已经设置了如上所示的位置。要向后导航历史记录,请使用 Set-Location 命令使用“-”(减号)。

PS C:\> Set-Location -Path -
PS C:\Windows> Set-Location -Path -
PS HKLM:\HARDWARE\>

要再次反向移动,请使用 +(加号)语法。

PS HKLM:\HARDWARE\> Set-Location -Path +
PS C:\Windows> Set-Location -Path +
PS C:\>

例子#4

使用 Push-Location 命令更改目录。

您还可以使用 Push-Location 命令更改目录。该命令首先将当前位置推入堆栈,然后导航到提供的位置。在 PowerShell 中,您可以将堆栈视为按 LIFO 顺序(后进先出)工作的队列。下面显示了一个示例。

PS C:\> Push-Location C:\Temp\
PS C:\Temp>

在上面的示例中,当前位置是 C:,Push-Location 将该位置保存到默认堆栈(因为我们没有提供堆栈名称)并导航到 C:\temp 位置。您可以使用以下命令检查堆栈中存储的位置。

Get-Location -Stack

输出:

[玩转系统] PowerShell 更改目录 |了解如何更改目录?

当您使用 Push-Location 命令导航到另一个位置时,

推送位置 $env:SystemRoot

再次检查堆栈位置,

Get-Location -Stack

输出:

[玩转系统] PowerShell 更改目录 |了解如何更改目录?

当我们使用 Pop-Location 命令时,将按顺序 (LIFO) 检索位置。

要使用具有新堆栈名称的 Push 命令导航该位置,

Push-Location C:\Temp\Data\ -StackName Newstack
Check location new stack.
Get-Location -StackName NewStack

输出:

[玩转系统] PowerShell 更改目录 |了解如何更改目录?

例子#5

Pop-Location 命令用于更改目录。

Pop-Location 从堆栈中检索最后插入的位置。当未提供堆栈名称时,将使用默认堆栈。

例如,

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

输出:

[玩转系统] PowerShell 更改目录 |了解如何更改目录?

当我们使用 Pop-Location 命令时,将首先检索 C:\temp,然后按 LIFO 顺序检索 C:\。

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

要对不同的堆栈使用 Pop-Location 命令,

Pop-Location -StackName Newstack

结论

有各种命令可以浏览目录,我们可以直接在控制台中使用它们,也可以在脚本中使用它们。它们在脚本中非常有用,可在脚本执行时导航路径。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯