使用 powershell 提取 .exe 文件

Extracting .exe file using powershell

我正在尝试在不使用任何其他工具的情况下使用 powershell 提取 .exe 文件。

我尝试使用 System.IO.Compression.ZipFile,但它仅适用于 .zip 文件。

$zip_file = Get-Item ("C:\Users[=10=]WORK\gs\gs.exe")
$destination = Get-Item ("C:\Users\tuna")
[System.IO.Compression.ZipFile]::ExtractToDirectory($zip_file,$destination)

也试过这个,但是没有成功

start-process C:\Users\Downloads\gs.exe -Argumentlist "/a"

也试过这个,但再次没有成功

$shell = new-object -com shell.application
$zip = $shell.NameSpace(“C:\Users[=12=]WORK\gs\gs.exe”)
foreach($item in $zip.items())
{
$shell.Namespace(“C:\Users\tuna”).copyhere($item)
}

感谢您的帮助。

如果您尝试过

start-process C:\Setup.exe -Argumentlist "/a"

那么就不可能使用powershell,这个命令完全取决于文件是如何打包的,如果其他都失败了我个人会使用像7-Zip这样的实用程序,但正如你所说你不想使用公用事业。

我最近也遇到了同样的问题。 Dewi 的回答对我不起作用。我是这样解决的:

mv gs.exe gs.zip
Expand-Archive -Path gs.zip

如果您需要 exe 用于其他目的,您可以选择在完成后将其重命名。

mv gs.zip gs.exe

请注意,您需要 PowerShell 5 或更新版本才能使用 Expand-Archive。值得庆幸的是,这可以作为 Microsoft KB3191566.

一直下载到 Win 7

是的,powershell 不能识别所有压缩算法。我正在尝试使用自解压 .exe 文件中的 HP 驱动程序包文件来执行此操作。即使您将文件名更改为 .zip,它也不会提取文件,而是抛出一个新对象异常错误。