我安装了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
答案 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
开关来指定压缩级别。