Показать полную графическую версию : [решено] Проверить есть ли пароль на архивах из списка в тектовом файле, используя cmd и 7zip
Keleborn
31-03-2024, 10:21
Есть в наличии большой txt список путей с файлами различных архивов, одна строка - один полный путь до архива.
Из архиваторов можно использовать только 7zip
Подскажите, пожалуйста, как реализовать проверку наличия пароля на архиве, по возможности с выводов списка путей с запароленными архивами
Буду признателен за помощь.
DJ Mogarych
31-03-2024, 10:50
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/discussion/45798/thread/2b98fd92/#c6a3
gc 'file' | % {
. 7z.exe t $_ -p"" * >$null 2>&1
if ($LASTEXITCODE -ne 2) { return }
$_
} | out-file 'file_' -enc default
запароленные возвращают 2 (fatal error). Но и не архивы тоже 2 возвращают. У 7z нет особого кода для запароленных.
7z l asdf.rar -slt
в запароленных архивах присутствует:
Encrypted = +
в незапароленных:
Encrypted = -
- один минус: на каждый файл в архиве вываливается отдельная пачка инфы (если архивы большие, с кучей файлов, процесс может происходить небыстро)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.