我正在尝试以一种有效的方式将哈希表转换回键值对。目前,我正在使用此:
$kv = ""
$hash.GetEnumerator() | ForEach {
$kv += "$($_.Name)=$($_.Value)"
}
没有任何方法可以直接将哈希表转换为键值对,或者我的意思是字符串数据。有ConvertFrom-StringData
可以将键值对转换为哈希表。没有办法相反,直接将哈希表转换为键值对吗?
E.G(键值对)
a=1
b=2
c=3
我正在尝试以一种有效的方式将哈希表转换回键值对。目前,我正在使用此:
$kv = ""
$hash.GetEnumerator() | ForEach {
$kv += "$($_.Name)=$($_.Value)"
}
没有任何方法可以直接将哈希表转换为键值对,或者我的意思是字符串数据。有ConvertFrom-StringData
可以将键值对转换为哈希表。没有办法相反,直接将哈希表转换为键值对吗?
E.G(键值对)
a=1
b=2
c=3
对于类似的question,我建议使用此脚本cmdlet:
function ConvertTo-StringData {
[CmdletBinding()]
param(
[Parameter(Mandatory,Position = 0,ValueFromPipeline)]
[HashTable[]]$HashTable
)
process {
foreach ($item in $HashTable) {
foreach ($entry in $item.GetEnumerator()) {
"{0}={1}" -f $entry.Key,$entry.Value
}
}
}
}
示例:
ConvertTo-StringData $hash
# or
$hash | ConvertTo-StringData