在命令行中识别加密的压缩文件

在命令行中识别加密的压缩文件

我的目录中有数百个 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
    }
}

答案1

尝试一下-p-参数:

-p-     Do not query password

编辑:刚刚测试-p-,提取失败,并出现CRC error in the encrypted file file.ext. Corrupt file or wrong password.

答案2

我已经很久没有用 RAR 做任何事情了。不过我记得它有一个很长的命令行开关列表。“av-”开关应该禁用真实性验证检查,但不确定会产生什么样的输出。因此 rar 命令应该是这样的:

rar x $file $folder\ -y av-

我建议尝试一下,看看会发生什么。

相关内容