Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Проверить есть ли пароль на архивах из списка в тектовом файле, используя cmd и 7zip (http://forum.oszone.net/showthread.php?t=355101)

Keleborn 31-03-2024 10:21 3026068

Проверить есть ли пароль на архивах из списка в тектовом файле, используя cmd и 7zip
 
Есть в наличии большой txt список путей с файлами различных архивов, одна строка - один полный путь до архива.
Из архиваторов можно использовать только 7zip
Подскажите, пожалуйста, как реализовать проверку наличия пароля на архиве, по возможности с выводов списка путей с запароленными архивами
Буду признателен за помощь.

DJ Mogarych 31-03-2024 10:50 3026070

Powershell
Код:

gc 'C:\temp\in\list.txt' |% {
    $null = & 'C:\Program Files\7-Zip\7z.exe' t -pBadPassword $_ 2>$null
    if (-not $?) {
        $_ |Out-File 'C:\temp\in\protected.txt' -Append
    }
}

См. https://sourceforge.net/p/sevenzip/d...2b98fd92/#c6a3

Sham 31-03-2024 11:10 3026071

Код:

gc 'file' | % {
  . 7z.exe t $_ -p"" * >$null 2>&1
  if ($LASTEXITCODE -ne 2) { return }
  $_
} | out-file 'file_' -enc default

запароленные возвращают 2 (fatal error). Но и не архивы тоже 2 возвращают. У 7z нет особого кода для запароленных.

YuS_2 31-03-2024 18:39 3026089

Код:

7z l asdf.rar -slt
в запароленных архивах присутствует:
Код:

Encrypted = +
в незапароленных:
Код:

Encrypted = -
- один минус: на каждый файл в архиве вываливается отдельная пачка инфы (если архивы большие, с кучей файлов, процесс может происходить небыстро)


Время: 00:00.

Время: 00:00.
© OSzone.net 2001-