gpt4 book ai didi

Powershell .ini 文件处理 : retrieve values with numeric keys

转载 作者:行者123 更新时间:2023-12-02 07:21:13 24 4
gpt4 key购买 nike

我一直在使用 Get-IniContent Powershell script written by Oliver Lipkau它工作得很好,但是我正在处理的 ini 文件中有一个 STAFF 部分,其中有这样的数字键;

PS C:\Windows\System32\WindowsPowerShell\v1.0> $FileContent.STAFF

Name Value
---- -----
11 STFDUTY,CHAR,nvarchar,16,,NULL,,Duty roster
41 STFKEY3,CHAR,nvarchar,8,,NULL,,Analysis key

如果我像这样将 key 放在单引号中;

Write-Output $FileContent.STAFF.'11';
Write-Output $FileContent.STAFF.'41';

我很好地恢复了值,但是我希望将其自动化以构建 SQL 语句,而不是对键进行硬编码,如下所示,但我似乎无法让它正常工作;

$nFields = $FileContent.STAFF.FIELDS;
for($x = 0; $x -le $nFields; $x++)
{ Write-Output ("iteration: " + $x + " of " + $nFields);
$xString = ("'" + $x.ToString() + "'");
Write-Output ($FileContent.STAFF.$xString);
}

在读取哈希表时似乎不喜欢直接将数字作为第三段/参数(即使它在 Powershell 帮助程序中可用)并且我在这里用单引号连接没有返回任何内容。

在我构建脚本时,普通字符串键似乎工作得非常好,Write-Output 是临时的。

感谢任何提示,谢谢!

最佳答案

使用 Get-IniContent 给定 myinifile.ini 包含:

[STAFF]
11=STFDUTY,CHAR,nvarchar,16,,NULL,,Duty rosteR
41=STFKEY3,CHAR,nvarchar,8,,NULL,,Analysis key

我们可以使用 GetEnumerator() 来遍历哈希表

$FileContent.STAFF.GetEnumerator() | ForEach-Object{
$message = '{0}={1}' -f $_.key, $_.value
Write-Output $message
}

哪个会返回:

11:STFDUTY,CHAR,nvarchar,16,,NULL,,Duty rosteR
41:STFKEY3,CHAR,nvarchar,8,,NULL,,Analysis key

鉴于上述相同的原则,您可以将每个键和值存储在一个单独的变量中,仅存储名称或仅存储键,等等。

关于Powershell .ini 文件处理 : retrieve values with numeric keys,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45646221/

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