Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6626
Благодарности: 1528

Профиль | Отправить PM | Цитировать


Powershell. Здесь предполагается, что нумерация файлов всегда начинается с единицы. Учтено.
Код: Выделить весь код
$txtFile1 = "C:\temp\1.txt"
$txtFile2 = "C:\temp\2.txt"
$resultFile = "C:\temp\result.txt"

function Get-ColNum {
param($txt,$marg)
[int]$c = (gc "$txt")[0] -replace '.+(\d{4}).+','$1'
    (gc "$txt") -match "$marg" -replace '[^\d\.]+' -replace '\..+' |% {
        $res += ,[pscustomobject]@{
            num = $c.tostring("0000")
            value = $_
        }
    $c++
    }
$res
}

$txt1 = Get-ColNum "$txtFile1" " MB$"
$txt2 = Get-ColNum "$txtFile2" "^Filesize"

$result = $txt1 |% {
    if ($match = $txt2 |? value -eq $_.value) {
        "$($_.num) - $($match.num -join ', ')"
    }
}

$result > "$resultFile"
v2 - исправлено некорректное сравнение размера
v3 - учтена возможность наличия цифр в расширении

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Последний раз редактировалось DJ Mogarych, 09-08-2022 в 21:31. Причина: v3

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:24, 19-07-2022 | #2