我的目标是创建PowerShell脚本,它将:
-
提取目录中的多个zip文件
-
为多种文件类型创建存档zip文件,并且能够将文件添加到zip(如果已存在) .
我无法在PowerShell v4中使用 Compress-Archive
/ Expand-Archive
这提取test.zip但是我需要它使用通配符一次提取多个.zip文件:
[System.IO.Compression.ZipFile]::ExtractToDirectory('C:\test.zip', 'C:\')
这将在 "C:\$year\$month\$folder.zip"
目录中创建zip文件 . 当我使用新的'sample'文件再次运行相同的脚本时,它表示它已经存在 .
我需要修改脚本来说'如果zip文件存在,请将文件添加到它' .
$year = Get-Date -Format 'Yr. yyyy'
$month = Get-Date -Format 'MMMM'
$folder = Get-Date -Format 'TESTddMMyyyy'
$source = "C:\$year\$month\$folder"
$destination = "C:\$year\$month\$folder.zip"
New-Item -ItemType Directory -Path "C:\$year\$month\$(Get-Date -Format 'TESTddMMyyyy')"
Move-Item 'C:\SAMPLE*' "C:\$year\$month\$(Get-Date -Format 'TESTddMMyyyy')"
Add-Type -assembly "system.io.compression.filesystem"
[system.io.compression.zipfile]::CreateFromDirectory($source, $destination)
$compressionLevel = [System.IO.Compression.CompressionLevel]::Optimal
Remove-Item $source -Force -Recurse
1 回答