如何在PowerShell中更改为临时目录?
在PowerShell中,我可以使用命令如何在PowerShell中更改为临时目录?,powershell,temp,Powershell,Temp,在PowerShell中,我可以使用命令$Env:TEMP回显%TEMP%的值。以下是我的机器上的输出: PS> $Env:temp C:\Users\IAIN~1.COR\AppData\Local\Temp 当我尝试使用cd命令更改目录时,收到以下错误: PS> cd $Env:temp Set-Location : An object at the specified path C:\Users\IAIN~1.COR does not exist. At line:1 cha
$Env:TEMP
回显%TEMP%
的值。以下是我的机器上的输出:
PS> $Env:temp
C:\Users\IAIN~1.COR\AppData\Local\Temp
当我尝试使用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
PS>cd$Env:temp
设置位置:指定路径C:\Users\IAIN~1.COR上的对象不存在。
第1行字符数:3
+cd您不需要直接访问%TEMP%
环境变量
.NET提供了一个GetTempPath
方法作为更通用的解决方案
$TempDir = [System.IO.Path]::GetTempPath()
cd $TempDir
在我的计算机上,这将更改为目录C:\Users\Iain.CORP\AppData\Local\Temp
以下人士的评论:
此方法检查中是否存在环境变量
按照以下顺序并使用找到的第一个路径:
TMP环境变量指定的路径
由TEMP环境变量指定的路径
USERPROFILE环境变量指定的路径
Windows目录
感谢分享该技术。首先解析其全名,如下所示打开$env:temp
:
cd (gi $env:temp).fullname
cd$env:temp
这对我有用。谢谢,这对我有用。最后我决定使用它,因为它比依赖一个环境变量更健壮。有关更多详细信息,请参阅我的答案。正如我在问题中所演示的,这在我的环境中是失败的。它在你身上的回报是什么?我认为在$Env:TEMP
返回一个而不是长文件名的环境中,此方法将失败。