Powershell Compress-Архив файлов в папки - PullRequest
0 голосов
/ 26 апреля 2018

Как поместить результат в папки в архиве? например:

$Compress-Archive -Path .\Client\*.exe, .\Server\*.exe  -DestinationPath ('Build_' + (get-date -Format yyyy.MM.dd) + '.zip')

Я бы хотел, чтобы в архиве была папка Client с exe-файлами и папка Server с exe-файлами. Теперь все файлы находятся прямо в «корне» архива.

При сжатии всей папки имя папки включается в архив.

1 Ответ

0 голосов
/ 26 апреля 2018

Нечто подобное может заставить вас измениться отсюда: -

https://social.technet.microsoft.com/Forums/en-US/fb835e63-0ed5-417b-980b-46d2982f4e0b/add-a-folder-to-an-existing-zip-file-using-powershell-v4-or-lower?forum=winserverpowershell

$sources = "c:\client","c:\server"
$destination = "c:\test\" + "multifoler.zip"

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
}
}

foreach($source in $sources){
 Get-Item $source | Add-Zip $destination
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...