Zipping Sub-folders

1

Eu quero usar o 7-Zip para compactar as subpastas em outra pasta na mesma unidade.

Cada subpasta tem zilhões de arquivos de texto.

Eu só quero zipar subpasta como um todo via Powershell.

Eu tenho um script, mas não estou funcionando e também não há erro.

( C:\backup contém algumas subpastas, apenas deseja compactar as subpastas na pasta :\backup to c:\archive .)

if (-not (test-path "$env:ProgramFiles-Zipz.exe")) {
       throw "$env:ProgramFiles-Zipz.exe needed"
} 
set-alias sz "$env:ProgramFiles-Zipz.exe"
$files="c:\backup"
$target="c:\archive"
$dirs = Get-ChildItem -Path $files | Where-Object { $_.Attributes -eq "Directory" }

Foreach ($dir in $dirs)
{
      $name = $dir.name
      $newname = $name.ToLower() -replace(" ","")
      sz a -t7z "$target\$newname" "$files\$dir"
}
    
por Mag Chiu 09.02.2015 / 04:22

1 resposta

0

Function create-7zip([String] $aDirectory, [String] $aZipfile){
    [string]$pathToZipExe = "C:\Program Files-zipz.exe";
    [Array]$arguments = "a", "-tzip", "$aZipfile", "$aDirectory", "-r";
    & $pathToZipExe $arguments;
}
$files="c:\backup"
$target="c:\archive"
$dirs = Get-ChildItem -Path $files | Where-Object { $_.Attributes -eq "Directory" }

Foreach ($dir in $dirs){
      $name = $dir.name
      $newname = $name.ToLower() -replace(" ","")
 create-7zip $files $target.zip


}
    
por 10.02.2015 / 04:33