首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Powershell在单个命令行上组合变量表达式

Powershell在单个命令行上组合变量表达式
EN

Stack Overflow用户
提问于 2018-06-07 02:47:26
回答 1查看 2.9K关注 0票数 2

我正在尝试理解Powershell如何在命令行上处理变量表达式(例如,作为cmdlet的参数)。我似乎不能确切地理解它是如何解析涉及多个变量(和/或变量的属性)的表达式的。下面是一些基于以下预定义变量的示例:

$a = 'abc'
$b = 'def'
$f = Get-ChildItem .\Test.txt   # assuming such a file exists in the current directory

示例1:

echo $a$b

输出:abcdef

示例2:

echo $a\$b

输出:abc\def

示例3:

echo $f.BaseName

输出:Test

示例4:

echo $a\$f.BaseName

输出:abc\C:\Test.txt.BaseName

基本上,我不明白为什么我可以组合两个变量(示例1和2),我可以使用变量属性(示例3),但我不能将变量与其他变量属性组合(示例4)。我已经尝试了各种转义序列(使用反引号),但都没有效果。

我意识到我可以使用$()风格的表达式来实现这一点,例如:

echo $($a + '\' + $f.BaseName)

我只是不明白为什么另一个表单(示例4)是无效的--在我看来,它看起来更干净。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50727510

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档