windows - 使用包含双引号的密码提取存档
问题描述
我想用 7zip 提取一个名为 test.rar 的存档,但对我没有任何帮助存档:test.rar 密码(带引号):“。”
我试过了
& "C:\Program Files (x86)\7-Zip\7z.exe" t -p'"".""' test.rar
& "C:\Program Files (x86)\7-Zip\7z.exe" t -p""."" test.rar
& "C:\Program Files (x86)\7-Zip\7z.exe" t "-p"."" test.rar
& "C:\Program Files (x86)\7-Zip\7z.exe" t -p'"."' test.rar
& "C:\Program Files (x86)\7-Zip\7z.exe" t -'p"."' test.rar
& "C:\Program Files (x86)\7-Zip\7z.exe" t -p'"".""' test.rar
解决方案
不幸的是,至少在 PowerShell 7.1 之前,将带有嵌入"
字符的参数传递给外部程序,例如从根本上破坏。7z.exe
虽然有变通方法,但更简单的解决方案是通过 stdin提供密码。
Mark Tolonen链接到的帖子显示了这种技术,通过它的输入重定向运算符,但是 PowerShell 不支持。cmd.exe
<
相反,使用 PowerShell 的管道来提供外部程序通过标准输入接收的数据。
假设逐字密码是"."
:
'"."' | & "C:\Program Files (x86)\7-Zip\7z.exe" t test.rar
推荐阅读
- java - 如何覆盖 nativescript 中的重载 Java 方法?
- python - 有没有人在pyqt 5中实现了一种将选定项目从一个列表视图框中移动到另一个的方法?
- sql - 创建一个具有两个标题的 .csv 文件
- python - 有效地相互减去数据帧的每一列?
- r - R Shiny 在应用程序中打开和关闭带有 UI 和服务器组件的模块
- python - 如何让我的石头、剪子布游戏的代码减少冗余?
- mysql - 为可以更改的值创建触发器
- python - 如何将字符串转换为日期时间,忽略时间信息?
- python - 移动时 Python GUI 崩溃
- laravel - chmod 权限集在 dockerfile 中不起作用