PowerShell:
使用YAML工作

如何操作:

PowerShell默认情况下没有内置用于解析YAML的cmdlet,但是当你利用powershell-yaml模块或者使用ConvertFrom-Json结合像yq这样的工具将YAML转换成PowerShell对象时,它能够无缝工作。

使用 powershell-yaml 模块:

首先,安装模块:

Install-Module -Name powershell-yaml

读取YAML文件:

Import-Module powershell-yaml
$content = Get-Content -Path 'config.yml' -Raw
$yamlObject = ConvertFrom-Yaml -Yaml $content
Write-Output $yamlObject

将PowerShell对象写入YAML文件:

$myObject = @{
    name = "John Doe"
    age = 30
    languages = @("PowerShell", "Python")
}
$yamlContent = ConvertTo-Yaml -Data $myObject
$yamlContent | Out-File -FilePath 'output.yml'

output.yml 示例:

name: John Doe
age: 30
languages:
- PowerShell
- Python

使用 yqConvertFrom-Json 解析YAML:

另一种方法涉及使用yq,一个轻量级且可移植的命令行YAML处理器。yq可以将YAML转换成JSON,而PowerShell可以本地解析JSON。

首先,确保系统上已安装yq。 然后运行:

$yamlToJson = yq e -o=json ./config.yml
$jsonObject = $yamlToJson | ConvertFrom-Json
Write-Output $jsonObject

这种方法特别适用于在跨平台环境中工作或者偏好在PowerShell中使用JSON的用户。