Я не могу вспомнить, где я нашел ответ, который привел меня к использованию этого фрагмента Powershell, но я использовал этот сценарий для архивирования папки и содержащихся в ней файлов:
param (
[string]$ZipFrom,
[string]$ZipTo
)
function Add-Zip
{
param([string]$zipfilename)
if(-not (test-path($zipfilename)))
{
set-content $zipfilename ("PK" + [char]5 + [char]6 + ("$([char]0)" * 18))
(dir $zipfilename).IsReadOnly = $false
}
$shellApplication = new-object -com shell.application
$zipPackage = $shellApplication.NameSpace($zipfilename)
foreach($file in $input)
{
$zipPackage.CopyHere($file.FullName)
Start-sleep -milliseconds 500
}
}
If(Test-path $ZipTo) {Remove-item $ZipTo}
dir $ZipFrom -Recurse | Add-Zip $ZipTo
Не уверен, что мне не хватает, но кажется, что это архивация файлов в папке.Я только что попробовал это на папке с 62 файлами в ней, и я закончил с zip-архивом с 31 файлом в нем.