[英]Why does VS Code PowerShell terminal map a new drive?
我正在使用命令Get-PSDrive
的 Visual Studio Code 中制作 PowerShell 脚本,令我惊讶的是,似乎在使用 VS Code 时,出现了一个与我的C:\
驱动器相同的新驱动器Temp
。
据我所知,这个结果让我大吃一惊,除了我的主C:\
驱动器外,我只有 2 个其他驱动器。 我试图在除 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.