Я хочу использовать 7-Zip для архивирования подпапок в другую папку на том же диске.
Каждая подпапка содержит миллионы текстовых файлов.
Я просто хочу сжать подпапку целиком с помощью Powershell.
У меня есть сценарий, но не работает и без ошибок.
(C:\backup
содержит несколько вложенных папок, только нужно сжать вложенные папки в папку :\backup
to c:\archive
.)
if (-not (test-path "$env:ProgramFiles\7-Zip\7z.exe")) {
throw "$env:ProgramFiles\7-Zip\7z.exe needed"
}
set-alias sz "$env:ProgramFiles\7-Zip\7z.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"
}