在PowerShell中,我可以回应%TEMP%使用该命令的价值$Env:TEMP.这是我机器上的输出:
PS> $Env:temp
C:\Users\IAIN~1.COR\AppData\Local\Temp
Run Code Online (Sandbox Code Playgroud)
当我尝试使用该cd命令切换到目录时,收到此错误:
PS> cd $Env:temp
Set-Location : An object at the specified path C:\Users\IAIN~1.COR does not exist.
At line:1 char:3
+ cd <<<< $Env:temp
+ CategoryInfo : InvalidArgument: (:) [Set-Location], PSArgumentException
+ FullyQualifiedErrorId : Argument,Microsoft.PowerShell.Commands.SetLocationCommand
Run Code Online (Sandbox Code Playgroud)
我怀疑PowerShell正在解释8.3文件名.目录的长文件名是C:\Users\iain.CORP\AppData\Local\Temp.当我尝试时cd C:\Users\Iain.CORP\AppData\Local\Temp,目录成功更改.
如何在$Env:TEMP使用PowerShell时打开路径?我必须先拥有长文件名吗?
Iai*_*der 10
您不需要%TEMP%直接访问环境变量.
.NET提供了一种GetTempPath方法作为更通用的解决方案.
$TempDir = [System.IO.Path]::GetTempPath()
cd $TempDir
Run Code Online (Sandbox Code Playgroud)
在我的机器上,这会更改为目录C:\Users\Iain.CORP\AppData\Local\Temp.
文件备注:
此方法按以下顺序检查环境变量是否存在,并使用找到的第一个路径:
TMP环境变量指定的路径.
TEMP环境变量指定的路径.
USERPROFILE环境变量指定的路径.
Windows目录.
感谢Joe Angley分享这项技术.
小智 8
cd $env:temp
这对我有用。
| 归档时间: |
|
| 查看次数: |
15732 次 |
| 最近记录: |