簡體   English   中英

為什么VS Code PowerShell端子map是新驅動?

[英]Why does VS Code PowerShell terminal map a new drive?

我正在使用命令Get-PSDrive的 Visual Studio Code 中制作 PowerShell 腳本,令我驚訝的是,似乎在使用 VS Code 時,出現了一個與我的C:\驅動器相同的新驅動器Temp

圖 1.1

據我所知,這個結果讓我大吃一驚,除了我的主C:\驅動器外,我只有 2 個其他驅動器。 我試圖在除 PowerShell 7 之外的其他終端上復制它,但沒有成功:

圖 1.2 Windows 端子 PowerShell 5.1

圖 1.3 PowerShell 5.1

圖 1.4 PowerShell 5.1 (86x)

圖 1.5 PowerShell 7 (86x)

圖 1.6 Windows 端子 PowerShell 7


當我看到它被 PwSh 7 復制時,我決定使用$host變量檢查每個 PowerShell 的版本,我看到了更意想不到的東西:

Version          : 5.1.19041.1

Windows 端子 PowerShell 5.1

Version          : 5.1.19041.1

PowerShell 5.1

Version          : 5.1.19041.1

PowerShell 5.1 (86x)

Version          : 7.0.2

PowerShell 7 (86x)

Version          : 7.0.2

Windows 端子 PowerShell 7

這一切看起來都很正常,但是當我檢查 VSCode $host時,我得到了結果

Version          : 2020.6.0

是什么導致輸出的差異

Get-PSDrive | Where-Object {$_.Provider.Name -eq "FileSystem"}

在 PwSh 7、PowerShell 5.1 和 VS 代碼 PwSh 之間?

Temp:驅動器不是“與我的C:\驅動器相同的新驅動器”; 它的Root$Env:Temp ,而不是C:\

根據PowerShell 團隊 2020 年 5 月更新,實際上描述了 PowerShell 7.1,這是在 PowerShell 7.0 中添加的...

在 PowerShell 7.0 中,我們添加了一個temp: PSDrive。 這適用於所有平台並自動映射到您的用戶臨時路徑。

順便說一句,您用來制作這些屏幕截圖的命令可以簡化為Get-PSDrive -PSProvider FileSystem

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM