我想创建一个新的变量,将使用其他变量与动态名称作为它的值。这里就是我想要做的事:PowerShell中调用动态变量
我有两个值的System.Array:
$Years = 2015, 2016
另一个变量$交易有各种交易的列表。
我试图使用各个$年值的方式如下:
ForEach($Year in $Years){
New-Variable -Name "Transactions_$Year" -Value $Transactions | Where {$_.Date -like "*.$Year"
现在我想这样做(即相同的foreach循环中)什么是使用$ Transactions_ $新年当我创造价值一个又一个新的变量,就像这样:
New-Variable -Name "Income_$Year" -Value $Transactions_$Year | Where {$_.Amount -NotLike "-*"} | Measure-Object Amount -Sum | Select -ExpandProperty Sum
}
这是可能的,或者你有任何的替代方法,我怎么能做到这一点?
$ TransactionsPerYear = @ {} $ 年份| ForEach-Object {Transactions = $ TransactionPerYear [$ _] = $ Transactions |如果日期类似'*。$ _' } 我没有得到任何东西,它没有创建变量$ TransactionsPerYear [2015]或$ TransactionsPerYear [2016]。 我也没有真正理解我如何在第二阶段使用它,我想从每年的收入中获得单独的变量。 – TimoY
这些都不是变数,只是供参考。你只是通过以不同名称来称呼事情而使事情更加混乱。无论如何,我忘记在第二个例子中使用双引号,为什么它不起作用。它现在应该工作。 (或者只是把引号留在那个位置。) – Joey