我有一个像这样的模板
$template = @"
Template name
field: #value#
field: #value#
field: #value#
end
"@
和哈希表
$hash = @{
field1 = value1
field2 = value2
field3 = value3
}
您能否向我解释一下,获得完成文件的“最佳实践”方法是什么?
我有一个像这样的模板
$template = @"
Template name
field: #value#
field: #value#
field: #value#
end
"@
和哈希表
$hash = @{
field1 = value1
field2 = value2
field3 = value3
}
您能否向我解释一下,获得完成文件的“最佳实践”方法是什么?
您需要自己决定什么是“最佳实践”,但我会更改模板,使其具有占位符,而不是#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