在 PowerShell 中更改工作目錄
許多標準命令提示符 (CMD) 命令在 Windows PowerShell 環境中工作。PowerShell 環境使用別名將這些命令從最基本的命令(如 ping
仍然適用於 Windows PowerShell 的 CMD 命令的一個示例是更改目錄命令或 cd 和 chdir。
雖然我們可以在 Windows PowerShell 中使用舊命令 cd 和 chdir,但最好在特定情況下使用它的 PowerShell cmdlet Set-Location 來構建正確和清晰的程式碼。
使用 Set-Location Cmdlet 更改 PowerShell 中的工作目錄
Set-Location cmdlet 類似地將工作目錄設定到指定位置,就像它的舊版本 cd 和 chdir。此 cmdlet 與舊命令的細微差別在於 Set-Location cmdlet 可以方便地同時更改 CMD.EXE 無法執行的工作驅動器和目錄。
如果我們需要在命令提示符中將我們的工作目錄更改為另一個驅動器,我們仍然需要先輸入 <drive letter>:,然後啟動我們的 cd 和 chdir 命令來更改工作目錄路徑。
命令提示符:
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:\
最後,除了 cd 和 chdir,Windows PowerShell 還使用 sl 作為 Set-Location 的另一個別名。你可以將其用於更快、更流暢的指令碼編寫方法。
sl -Path C:\Temp
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn