如何使用PowerShellPack中的Copy-ToZip将多个文件压缩成zip?

时间:2013-04-17 10:27:51

标签: powershell zip

我安装了PowerShellPack将多个文件压缩成zip。 它适用于.txt等小文件,但不适用于大文件。 zip中只有一个文件,我收到错误File not found or no read permission

Import-Module PowerShellPack
Copy-ToZip -File "D:\Temp\Test.adi" -zipfile "D:\Temp\Files.zip"
Copy-ToZip -File "D:\Temp\Test2.adt" -zipfile "D:\Temp\Files.zip"

我尝试使用Wait-Job命令,但这也适用于小文件。 对于大文件,会创建一个zip文件,但它是空的。

Import-Module PowerShellPack
$job = Start-Job {Copy-ToZip -File "D:\Temp\Test.adi" -zipfile "D:\Temp\Files.zip"}
Wait-Job $job
Receive-Job $job
$job = Start-Job {Copy-ToZip -File "D:\Temp\Test2.adt" -zipfile "D:\Temp\Files.zip"}
Wait-Job $job
Receive-Job $job

1 个答案:

答案 0 :(得分:3)

我建议使用PowerShell Community Extensions中包含的Write-Zip cmdlet。它没有Copy-ToZip具有的文件访问问题。

使用示例:

Get-ChildItem D:\Temp\*.ad* | Write-Zip -OutputPath D:\Temp\Files.zip

如果未指定-OutputPath,将为每个输入文件而不是单个zip文件创建一个zip文件。

它还有一个-Level开关来指定压缩级别。