标题: [问题求助] PowerShell怎么再次进行变量替换? [打印本页]
作者: newswan 时间: 2023-2-28 12:05 标题: PowerShell怎么再次进行变量替换?
- $a="aaa"
- $aa= '$a'
-
- echo $aa
复制代码
这种情况下,$aa 的值是 $a,怎么再次变量扩展,得到 aaa
作者: WHY 时间: 2023-2-28 15:20
- echo (Invoke-Expression $aa)
复制代码
这样可以吗?
作者: mzzyb 时间: 2023-2-28 17:49
本帖最后由 mzzyb 于 2023-2-28 23:35 编辑
你的是书写错误~~- set a="aaa"
- set aa=%a%
- echo %aa%
复制代码
如果做成bat携程下面这样- set a="aaa"
- set aa=%%a
- echo %%aa
复制代码
我理解错了,你说的powershell,我写成bat了。我估计你的输出语句写错了,echo是cmd的写法,试试host-write $aa
作者: went 时间: 2023-2-28 20:44
- $a="aaa"
- $aa= '$a'
-
- (Get-Variable -Name $aa.TrimStart('$')).Value
复制代码
作者: newswan 时间: 2023-2-28 21:22
今天没空,明天试试,,
谢谢大家
作者: newswan 时间: 2023-3-1 10:38
回复 2# WHY
ok,谢谢,- $str ='"{[( $a $b )]}"'
- $a = "aaa"
- $b = "bbb"
- $v = (Invoke-Expression $str)
- $v
复制代码
作者: newswan 时间: 2023-3-1 10:40
回复 4# went
还有这种命令,认识了。
作者: newswan 时间: 2023-3-27 15:05
这种办法,就是太长了- $ExecutionContext.InvokeCommand.ExpandString()
复制代码
作者: Five66 时间: 2023-3-27 20:59
没特殊要求用英文双引号将变量引起来就是了
$aa= "$a"
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |