我正在尝试提取一堆 7z 文件。
我能够从其他 Stackoverflow 帖子中获取这两组 Powershell 脚本,但它们似乎都不起作用。
$7ZipPath = '"C:\Program Files\7-Zip\7z.exe"'
$zipFile = '"F:\NHSFTP\WH_20240803_1.7z"'
$zipFilePassword = "xYxYxYx"
$command = "& $7ZipPath e -oe:\ -y -tzip -p$zipFilePassword $zipFile"
iex $command
$7ZipPath = '"C:\Program Files\7-Zip\7z.exe"'
$zipFile = '"F:\NHSFTP\WH_20240803_1.7z"'
$zipFilePassword = "xYxYxYx"
$command = "& $7ZipPath e -oW:\ADMINISTRATION -y -tzip -p$zipFilePassword $zipFile"
iex $command
我错过了什么?
我也尝试打开多个 7z 文件,而不仅仅是一个。
我有表达过类似这样的话吗?
$zipFile = '"F:\NHSFTP\*.7z"'
更新
这是我需要运行的吗(更新的脚本)?
$7ZipPath = 'C:\Program Files\7-Zip\7z.exe'
$zipFile = 'F:\NHSFTP\WH_20240803_1.7z'
$zipFilePassword = 'xYxYxYx'
& $7ZipPath e -oe:\ -y -tzip -p$zipFilePassword $zipFile
这里没有必要使用
Invoke-Expression
,我建议创建一个以后可以轻松重复使用的函数。此外,7zip 能够检测压缩算法,因此您可以直接将其-tzip
作为参数删除。然后你可以像这样使用它: