String Powershell将环境变量与路径连接起来
所以我有这个代码:String Powershell将环境变量与路径连接起来,string,environment-variables,filepath,powershell-4.0,String,Environment Variables,Filepath,Powershell 4.0,所以我有这个代码: $userprofile=Get-ChildItem Env:USERPROFILE $localpath="$userprofile\some\path" 我希望下面的输出来自$localpath: c:\users\username\some\path 然而,我得到的是: System.Collections.DictionaryEntry\some\path 因此,当然,类似于cd$localpath的东西失败了。我将如何完成我所需要的 获取字符串值而不是字典条目
$userprofile=Get-ChildItem Env:USERPROFILE
$localpath="$userprofile\some\path"
我希望下面的输出来自$localpath
:
c:\users\username\some\path
然而,我得到的是:
System.Collections.DictionaryEntry\some\path
因此,当然,类似于
cd$localpath
的东西失败了。我将如何完成我所需要的 获取字符串值而不是字典条目(这在技术上是Get ChildItem
正在访问的)的一种方便方法是只使用变量语法:$Env:USERPROFILE
而不是Get ChildItem Env:USERPROFILE
$localpath = "$env:USERPROFILE\some\path"
有关更多信息:
此外,cmdlet是组合路径两部分的好方法
$localpath = Join-Path $env:USERPROFILE 'some\path'
@AnsgarWiechers感谢提供示例的深思熟虑的编辑。如果您来自Windows脚本编写的CMD世界,请不要忘记在setter名称中包含
$
。在CMD中,Set varname=something
必须是,$varname=something
,而不是varname=something
。