是否有一行程序可以在 PowerShell 中压缩/解压缩文件(*.zip)?
答案1
点网压缩允许您从 PowerShell 执行此操作。这不是一行代码,但该库将允许您编写所需的 PowerShell 脚本。
您还可以使用 COM 接口,请参阅使用 Windows PowerShell 压缩文件然后打包 Windows Vista 边栏小工具。
谷歌搜索“zip powershell”或“unzip powershell”也可能会得到有用的结果。
答案2
这是您可以仅通过 Powershell 执行此操作而无需任何外部工具的方法。这会将名为 test.zip 的文件解压缩到当前工作目录中:
$shell_app=new-object -com shell.application
$filename = "test.zip"
$zip_file = $shell_app.namespace((Get-Location).Path + "\$filename")
$destination = $shell_app.namespace((Get-Location).Path)
$destination.Copyhere($zip_file.items())
答案3
现在在 .NET Framework 4.5 中,有一个压缩文件您可以像这样使用类:
[System.Reflection.Assembly]::LoadWithPartialName('System.IO.Compression.FileSystem')
[System.IO.Compression.ZipFile]::ExtractToDirectory($sourceFile, $targetFolder)
答案4
您可能希望查看PowerShell 社区扩展 (PSCX)它有专门用于此目的的 cmdlet。