gpt4 book ai didi

powershell - 有没有办法将powershell字符串转换为哈希表?

转载 作者:行者123 更新时间:2023-12-02 22:32:36 25 4
gpt4 key购买 nike

有什么方法可以告诉powershell从使用普通语法格式化的字符串构造一个哈希表来内联创建哈希表?

例如,有没有办法做这样的事情:

$fooHashString = "@{key='value'}
$fooHash = TellPowershellToEvaluateSpecialStringExpressions($fooHashString)
$fooHash

Name Value
---- -----
key value

最佳答案

使用 Invoke-Expression 被视为代码异味的原因有很多。有关此内容的详细信息,请参阅以下博客文章

  • PowerShell Code Smell: Invoke-Expression (and some suggestions)
  • Invoke-Expression considered harmful

  • 如果您使用 PowerShell 3.0 或更高版本,另一种方法是使用 ConvertFrom-StringData。您可以在 MSDN 页面 ConvertFrom-StringData 上找到有关如何使用它的详细信息

    在您的情况下,您可以使用以下内容来创建 HashTable
    $HashString = "key1=value1 `n key2=value2"
    ConvertFrom-StringData -StringData $HashString

    或者,您可以像这样在此处的字符串中生成内容
    $HashString = @'
    key1 = value1
    key2 = value2
    '@
    ConvertFrom-StringData -StringData $HashString

    不幸的是,如果您包含 \,这将不起作用。在字符串中,因为 ConvertFrom-StringData CmdLet 将其视为转义字符。

    关于powershell - 有没有办法将powershell字符串转换为哈希表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22925135/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com