因此,在我的 Powershell 脚本中,我有 2 个变量相互相乘,但是有一个问题,Powershell 无法判断我想将这些变量相乘。脚本如下:
$answer = $a*$equation
$a
变量7
是。$equation
变量是365*675/54
所以我想要脚本做的是并将7*365*675/54
答案设置为$answer
变量。
当我调试脚本时,它说问题出在* symbol
. 有人可以在这里帮忙吗?
因此,在我的 Powershell 脚本中,我有 2 个变量相互相乘,但是有一个问题,Powershell 无法判断我想将这些变量相乘。脚本如下:
$answer = $a*$equation
$a
变量7
是。$equation
变量是365*675/54
所以我想要脚本做的是并将7*365*675/54
答案设置为$answer
变量。
当我调试脚本时,它说问题出在* symbol
. 有人可以在这里帮忙吗?
我会使用Invoke-Expression
而不是运行另一个 PowerShell 实例。
$answer = Invoke-Expression "$a*$equation"
听起来您想要的行为是让 Powershell 将变量解释$equation
为数学;表达式而不是值。一般来说,这不是变量在 powershell 中的工作方式。它们代表值,而不是表达式。因此 powershell 将其视为一个string
而不是一个数字。
这可以通过启动另一个 powershell 实例并要求它解释字符串来完成。然后它将返回您可以存储的结果
$resolved = powershell $equation
$answer = $a * $resolved