私が$destination
の配列を設定した場合、これを動作させることができますが、選択したディレクトリごとに別々の.zipが作成されます。System.IO.Compression.ZipFile複数のディレクトリ
すべてのディレクトリを選択し、複数の宛先ファイルではなく単一の宛先で圧縮するにはどうすればよいですか?ここに私のコードは次のとおりです。
$type = "*.txt"
$destination = "LogsBackup.zip"
Add-Type -Assembly "System.IO.Compression.FileSystem" ;
$_sources = dir c:\Logs\$type -Recurse | Select Directory -Unique |
Out-GridView -OutputMode Multiple |
Select @{Name="Path";Expression={$_.Directory -As [string]}}
for ($i = 0; $i -lt $_sources.Length; $i++)
{
$compressionLevel = [System.IO.Compression.CompressionLevel]::Optimal
[System.IO.Compression.ZipFile]::CreateFromDirectory($_sources[$i].Path , $destination)
}
私はそれが私がそれらを選択し、配列として保存することができ、単一のディレクトリまたは複数のだならば、それはそうである方法私のOut-GridView
オプションを維持したいです。
Powershell v5を使用している場合、これはかなり簡単に行うことができます。 – Kiran
はいpowershell v5 –