【问题标题】:Powershell ConvertFrom-StringData inverse operation ConvertTo-StringData [duplicate]Powershell ConvertFrom-StringData 逆运算 ConvertTo-StringData [重复]
【发布时间】:2020-09-29 10:09:15
【问题描述】:

我找到了以下代码,用于从带有 key=value 对的文本文件中读取哈希表。

$value = Get-Content $Path | Out-String | ConvertFrom-StringData

虽然如何将哈希表以相同格式写回文本文件,但我还没有找到逆运算。我使用以下代码

$values.GetEnumerator() | ForEach-Object { "{0}={1}" -f $_.Name,$_.Value } | Set-Content $Path

它工作正常。我只是想知道是否有更直接的解决方案。

【问题讨论】:

    标签: powershell


    【解决方案1】:

    我不知道。有人问过这个问题before

    您的解决方案看起来不错。您可以将代码转换为脚本 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
                }
            }
        }
    }
    

    例子:

    $hashtable = Get-Content $path | ConvertFrom-StringData
    $hashtable | ConvertTo-StringData | Set-Content $path
    # or
    ConvertTo-StringData $hashtable | Set-Content $path
    

    【讨论】:

      猜你喜欢
      • 2016-05-23
      • 2021-07-19
      • 1970-01-01
      • 1970-01-01
      • 2023-03-22
      • 2015-03-20
      • 2015-05-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多