繁体   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