使用包含双引号的密码提取存档
Extract archive with password that contain double quote
我想用 7zip 提取一个名为 test.rar 的存档,但对我没有任何作用
存档:test.rar
密码(带引号):""
我试过了
& "C:\Program Files (x86)-Zipz.exe" t -p'"".""' test.rar
& "C:\Program Files (x86)-Zipz.exe" t -p""."" test.rar
& "C:\Program Files (x86)-Zipz.exe" t "-p"."" test.rar
& "C:\Program Files (x86)-Zipz.exe" t -p'"."' test.rar
& "C:\Program Files (x86)-Zipz.exe" t -'p"."' test.rar
& "C:\Program Files (x86)-Zipz.exe" t -p'"".""' test.rar
至少在 PowerShell 7.1 之前,将带有嵌入 "
字符的参数传递给外部程序(例如 7z.exe
是 fundamentally broken,不幸的是。
虽然有解决方法,但更简单的解决方案是通过标准输入提供密码。
指向 that Mark Tolonen 的链接显示了 cmd.exe
的这种技术,通过 <
,其输入重定向运算符,PowerShell 不不过支持。
相反,使用 PowerShell 的管道 提供外部程序通过标准输入接收的数据。
假设逐字密码是"."
:
'"."' | & "C:\Program Files (x86)-Zipz.exe" t test.rar
我想用 7zip 提取一个名为 test.rar 的存档,但对我没有任何作用
存档:test.rar
密码(带引号):""
我试过了
& "C:\Program Files (x86)-Zipz.exe" t -p'"".""' test.rar
& "C:\Program Files (x86)-Zipz.exe" t -p""."" test.rar
& "C:\Program Files (x86)-Zipz.exe" t "-p"."" test.rar
& "C:\Program Files (x86)-Zipz.exe" t -p'"."' test.rar
& "C:\Program Files (x86)-Zipz.exe" t -'p"."' test.rar
& "C:\Program Files (x86)-Zipz.exe" t -p'"".""' test.rar
至少在 PowerShell 7.1 之前,将带有嵌入 "
字符的参数传递给外部程序(例如 7z.exe
是 fundamentally broken,不幸的是。
虽然有解决方法,但更简单的解决方案是通过标准输入提供密码。
指向 cmd.exe
的这种技术,通过 <
,其输入重定向运算符,PowerShell 不不过支持。
相反,使用 PowerShell 的管道 提供外部程序通过标准输入接收的数据。
假设逐字密码是"."
:
'"."' | & "C:\Program Files (x86)-Zipz.exe" t test.rar