Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String Powershell将环境变量与路径连接起来_String_Environment Variables_Filepath_Powershell 4.0 - Fatal编程技术网

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