-2

我有一个像这样的模板

$template = @"
Template name
field: #value#
field: #value#
field: #value#
end
"@

和哈希表

$hash = @{
    field1 = value1
    field2 = value2
    field3 = value3
}

您能否向我解释一下,获得完成文件的“最佳实践”方法是什么?

4

1 回答 1

1

您需要自己决定什么是“最佳实践”,但我会更改模板,使其具有占位符,而不是#value#像这样:

Template name
field: {0}
field: {1}
field: {2}
end
"@

现在你可以做

$document = $template -f ($hash.GetEnumerator() | ForEach-Object { $_.Value })

或者

$document = $template -f ($hash.Keys | ForEach-Object { $hash[$_] })

生产

Template name
field: value2
field: value3
field: value1
end

由于普通的 Hashtable 是无序的,因此值被随机设置到模板中的不同字段。如果这是不需要的,请Ordered像这样制作哈希表

$hash = [ordered]@{
    field1 = 'value1'
    field2 = 'value2'
    field3 = 'value3'
}

所以上面会输出

Template name
field: value1
field: value2
field: value3
end
于 2021-04-21T09:57:05.947 回答