2013-08-23 61 views
0

因此,在我的Powershell腳本中,我有兩個變量彼此相乘,但有一個問題,Powershell無法告訴我要互相乘以變量。下面的腳本是:Powershell變量寫入不正確

$answer = $a*$equation

$a變量是7$equation變量是365*675/54 所以我想要的腳本是7*365*675/54並將答案設置爲$answer變量。

當我調試腳本時說,問題出在* symbol。任何人都可以幫忙嗎?

回答

1

這聽起來像你想要的行爲是爲了Powershell將變量$equation解釋爲數學;表達而不是價值。一般來說,這並不是變量在PowerShell中的工作方式。它們代表價值,而不是表達。因此PowerShell將此視爲string而不是數字。

這可以通過旋轉powershell的另一個實例並要求它解釋字符串來完成。然後,它會返回一個可以儲存

$resolved = powershell $equation 
$answer = $a * $resolved 
+0

謝謝!我需要這個腳本的其餘部分才能正常工作,並且我在Google上找不到任何答案。 – user2709335

3

我會用Invoke-Expression,而不是運行另一個PowerShell的情況下的結果。

$answer = Invoke-Expression "$a*$equation"