创建字符串的动态列表/数组-基于XML输入的整数对

时间:2019-08-11 16:56:18

标签: xml powershell

我有一个具有以下结构的XML文件:

print(scipy.integrate.quad(lambda x: (min(skewnorm.pdf(x, a1, loc=loc1, scale=scale1), skewnorm.pdf(x, a2, loc=loc2, scale=scale1))),-1,1))

output:(0.341344746068543, 3.789687964201238e-15)

我进行迭代,并使用以下代码在路径中搜索特定模式(例如日期模式的特定名称,例如<root> <system name="SYS-NAME"> <file name="NAME.EXTENTION" md5="HASH" path="PATH;PATH1;PATH2"/> </system> <system name="SYS-NAME1"> <file name="NAME.EXTENTION1" md5="HASH1" path="PATH1"/> <file name="NAME.EXTENTION1-1" md5="HASH1-2" path="PATH1-2;PATH2-2"/> </system> <system name="SYS-NAME2"> <file name="NAME.EXTENTION2" md5="HASH2" path="PATH2;PATH3;PATH4;PATH5"/> </system> </root> ),在其中拆分路径并查看其中的第一个元素:

2019.08

问题在于创建一个列表,其中将保存分配了其计数器的日期。因此,在示例中,我有路径:

2019.08/aaaa
2019.09/bbbb
2019.08/cccc
2019.08/adad
2019.09/aaaa
2019.10/bbbf

,因此,列表/数组应包含foreach ($entry in $osFiles) { $entry.path.Split(";") | % { $numbTotal++ $root = $_.Split("\") if ($root[0] -match "(19|20)[0-9]{2}[- /.](0[1-9]|1[012])") { $numbPatches++ ##Need Help Here } elseif ($root[0] -eq "NAMED") { $numbNAMED++ } } } 2019.08个文件的信息; 3-2019.092-2019.10。我完全不知道该怎么做。我想我有脑袋了

1 个答案:

答案 0 :(得分:1)

文件夹结构:

> gci


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
...
d-----        11/08/2019    19:47                2019.08
d-----        11/08/2019    19:47                2019.09
d-----        11/08/2019    19:47                2019.10
...

尝试使用hashtable/dictionary并结合使用Get-ChildItems -File参数:

$directories = Get-ChildItem
$actLocation = Get-Location
$dictionary = @{}
$directories | ForEach-Object {

    try{
        if($_.Name -match "(19|20)[0-9]{2}[- /.](0[1-9]|1[012])"){
            Set-Location $_
            $dictionary[$_.Name] += @(Get-ChildItem -Path . -Recurse -File).Count
        } 
    }
    finally{
        Set-Location $actLocation
    }
}

$dictionary的内容:

> $dictionary

Name                           Value
----                           -----
2019.09                        2
2019.08                        3
2019.10                        1

希望有帮助。