3

У меня есть каталоги с сотнями файлов RAR. В настоящее время я использую Powershell 2.0 со сценарием, который использует утилиту WinRAR RAR для распаковки файлов. Проблема в том, что небольшое количество файлов зашифровывается, что приостанавливает работу сценария и требует взаимодействия. Есть ли способ сделать одно из следующего:

  1. Определите зашифрованные файлы перед попыткой распаковать
  2. Полностью игнорировать зашифрованные файлы
  3. Автоматизируйте неправильный (или правильный) пароль, который попытается открыть файл, но просто пропустите его, если неверный.

ПРИМЕЧАНИЕ. Некоторые сжатые файлы шифруют только содержимое файла, тогда как другие шифруют имя файла и содержимое файла.

Восстановить код:

$files = Get-ChildItem
foreach($file in $files)
{
    if($file.Attributes -eq "Archive")
    {
        $folder = $file.basename
        rar x $file $folder\ -y
    }
}

2 ответа2

3

Попробуйте параметр -p- :

-p-     Do not query password

Редактировать: только что протестировал -p- , и извлечение не удалось с CRC error in the encrypted file file.ext. Corrupt file or wrong password.

0

Прошло много времени с тех пор, как я использовал RAR для чего-либо. Напомню, что у него был обширный список ключей командной строки для использования, хотя. Переключатель 'av-' должен отключить проверку проверки подлинности, хотя и не уверен, какой вывод будет сгенерирован. Таким образом, команда rar будет выглядеть примерно так:

rar x $file $folder\ -y av-

Я бы предложил попробовать и посмотреть, что получится.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .