在 PowerShell 中更改工作目录

Marion Paul Kenneth Mendoza 2022年5月14日
在 PowerShell 中更改工作目录

许多标准命令提示符 (CMD) 命令在 Windows PowerShell 环境中工作。PowerShell 环境使用别名将这些命令从最基本的命令(如 ping

仍然适用于 Windows PowerShell 的 CMD 命令的一个示例是更改目录命令或 cdchdir

虽然我们可以在 Windows PowerShell 中使用旧命令 cdchdir,但最好在特定情况下使用它的 PowerShell cmdlet Set-Location 来构建正确和清晰的代码。

使用 Set-Location Cmdlet 更改 PowerShell 中的工作目录

Set-Location cmdlet 类似地将工作目录设置到指定位置,就像它的旧版本 cdchdir。此 cmdlet 与旧命令的细微差别在于 Set-Location cmdlet 可以方便地同时更改 CMD.EXE 无法执行的工作驱动器和目录。

如果我们需要在命令提示符中将我们的工作目录更改为另一个驱动器,我们仍然需要先输入 <drive letter>:,然后启动我们的 cdchdir 命令来更改工作目录路径。

命令提示符:

C:\> cd C:\Temp
C:\Temp> cd D:\Docs
C:\Temp>
#To change the working drive, type the drive letter
C:\Temp> D:
D:\>

PowerShell:

PS C:\> Set-Location C:\Temp
PS C:\Temp> Set-Location D:\Docs
PS D:\Docs>

Set-Location cmdlet 还因其附加参数而不同于其旧命令。

以下是一些示例。

Set-Location -Path C:\Temp

在上面的示例片段中,-Path 参数将指定我们脚本环境的新工作目录。但是,如果你的路径有空格,请记住用单引号 ('') 或双引号 ("") 将它们括起来。

Set-Location -Path "C:\Temp\Temporary Documents"

Set-Location cmdlet 中另一个有用的参数是 -PassThru 参数。此参数将返回新的工作目录,我们可以使用该目录将返回的值存储到变量中。

示例代码:

$newDir = Set-Location -Path C:\Temp -PassThru
Write-Output $newDir.path

输出:

C:\Temp

如果只有 -PassThru 参数,你也只能访问 Set-Location cmdlet 的完整属性列表。

示例代码:

Set-Location -Path G: -PassThru | fl *

输出:

Drive        : G
Provider     : Microsoft.PowerShell.Core\FileSystem
ProviderPath : G:\
Path         : G:\

最后,除了 cdchdir,Windows PowerShell 还使用 sl 作为 Set-Location 的另一个别名。你可以将其用于更快、更流畅的脚本编写方法。

sl -Path C:\Temp
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

相关文章 - PowerShell Directory