7zip 档案无法使用加密密码解密

7zip 档案无法使用加密密码解密

我正在尝试编写一个 PowerShell 脚本,它将使用 7zip 单独压缩并加密文件。

$Password = Read-Host -Prompt 'Enter Password:'

dir *.txt | ForEach-Object -Parallel { & 7z a -t7z -mm=LZMA2 -mx=9 -md=1024m -mfb=273 -ms=64g -myx=9 -mmt=32 -p$Password ($_.BaseName+".7z") $_.Name }

这在压缩阶段有效,但压缩文件无法使用加密密码解密和提取。解压缩期间的 GUI 输出如下。

Data error : Wrong password? test.txt

如果我在压缩过程中使用 GUI,则不会出现此错误。如能得到任何帮助,我将不胜感激。

答案1

Powershell 将其-p$Password视为参数名称,并且不会扩展。请在和$之间添加空格,或使用带引号的参数列表代替/ :-p$PasswordStart-ProcessCall&

Start-Process 'C:\Program Files\7-Zip\7z.exe' -ArgumentList `
    "a -t7z -mm=LZMA2 -mx=9 -md=1024m -mfb=273 -ms=64g -myx=9 -mmt=32 -p$Password $($_.BaseName+".7z") $($_.Name)"

我用我的 7zip 测试了它,它能够正确使用密码。

相关内容