是否可以使用变量的值作为参数的名称,类似于此(但不完全是这样,因为它不起作用):
$processData = Split-Path $processData -($variable.split)
$variable
实际上是一些XML,而split
属性可以是父母'或者' leaf'。我可以使用这种方法,它工作正常:
switch ($variable.split) {
parent {
$processData = Split-Path $processData -Parent
}
leaf {
$processData = Split-Path $processData -Leaf
}
}
但直接使用变量会更优雅。
答案 0 :(得分:2)
Splatting应该做你想做的事:
$params = @{
Path = $processData
$variable.split = $true
}
$processData = Split-Path @params
但代码并不比switch
语句少得多:
$processData = switch ($variable.split) {
parent { Split-Path $processData -Parent }
leaf { Split-Path $processData -Leaf }
}