Tenha em mente que esses scripts podem ser chamados a partir de uma janela do ISE, pronto PS, SQL Server Job Agent, o Windows Scheduler, através de uma aplicação, etc., e eu usei todos os scripts abaixo em numerosas ocasiões.
Descompacte Todos os arquivos zip em uma pasta
O script abaixo descompacta todos os arquivos em uma pasta, armazena os arquivos descompactados na pasta, e remove todos os arquivos zip. Se queremos mudar este script para apontar para um destino, teríamos apenas adicionar um parâmetro $dest e alterar a linha [System.IO.Compression.ZipFile] :: ExtractToDirectory ($z.FullName, $fold) para [Sistema. IO.Compression.ZipFile] :: ExtractToDirectory ($z.FullName, $dest) .
Function Unzip-Files ($fold) { Add-Type -Path "C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.IO.Compressio n.FileSystem\v4.0_4.0.0.0__b77a5c561934e089\System.IO.Compression.FileSystem.dll" $a_zps = Get-ChildItem $fold -Filter *.zip foreach ($z in $a_zps) { [System.IO.Compression.ZipFile]::ExtractToDirectory($z.FullName, $fold) } ## Optional - removes the zips after they've been extracted $r_zip = $fold + "*.zip" Remove-Item $r_zip }
Zip Todos os arquivos em uma pasta para um arquivo zip
Abaixo, eu faço o oposto do código acima, novamente, usando a mesma referência DLL, desta vez usando sua CreateFromDirectory método.
Function Zip-Folder ($fold, $f_zip) { Add-Type -Path "C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.IO.Compressio n.FileSystem\v4.0_4.0.0.0__b77a5c561934e089\System.IO.Compression.FileSystem.dll" [System.IO.Compression.ZipFile]::CreateFromDirectory($fold, $f_zip) }
Estes últimos dias estão corridos, mas, voltarei a postar com mais frequência. Toda semana uma novidade!
Deixe um comentário