Как мне использовать где условие в powershell - PullRequest
0 голосов
/ 09 октября 2019

Здесь я хочу получить список папок, в которых есть файлы со значением ErrorCode> 0.

Это то, что я делал до сих пор.

$fileNames = Get-ChildItem -Path $scriptPath -Recurse -Include *.data
$FoldersToRename = @() #initialize as array
foreach ($file in $fileNames) {
    If (Get-Content $file | %{$_ -match '"ErrorCode": 0'}) 
{
 echo "matched"   
}

Теперь у меня есть файл .data, который ищет эта программа. Он содержит объект со значением «ErrorCode»: значение. Я хочу выполнить некоторые операции, только если это значение больше нуля.

Как мне решить эту проблему?

1 Ответ

1 голос
/ 09 октября 2019

Один из способов сделать это так:

Get-ChildItem -Path $scriptPath -Filter *.data | 
    ForEach-Object {
        if((Get-Content -Path $_.FullName -Raw) -match '"ErrorCode": [1-9]\d*') {
            "Matched"
        }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...