C:\Program Files\7-Zip>7z a -t7z -m0=lzma -mx=5 -mfb=128 -md=32m -ms=on "D:\test\myarchive.7z" "D:\test\test files"
Если по задумке в конце запускае удаление оставшихся папок с правами администратора, то почему бы не удалять все сразу с правами администратора?
И даже, если вдруг есть причина так не делать (хотел бы я узнать, какая)
можно пробовать удалить все без прав администратора, а потом просто смотреть, какие папки из списка остались на месте.
function HandleFoundPatternsIndexes {
param (
[Parameter(Mandatory)]
[string[]]$patterns,
[Parameter(Mandatory)]
[int[]]$foundPatternsIndexes
)
[string]$notFoundPatterns = ''
# fix is ($foundPatternsIndexes.Count -eq 0 -OR ($foundPatternsIndexes.Count -eq 1 -AND $foundPatternsIndexes[0] -eq -1))
if ($foundPatternsIndexes.Count -eq 0) {
Write-Host "No patterns was found"
}
elseif ($foundPatternsIndexes.Count -eq $patterns.Count) {
Write-Host "All hex patterns found and replaced successfully in $filePathArg"
}
else {
[int[]]$notFoundPatternsIndexes = (0..$patterns.Count).Where({$_ -notin $foundPatternsIndexes})
for ($i = 0; $i -lt $notFoundPatternsIndexes.Count; $i++) {
$notFoundPatterns += ' ' + $patterns[$notFoundPatternsIndexes[$i]]
}
Write-Host "Hex patterns" $notFoundPatterns.Trim() "- not found, but other given patterns found and replaced successfully in $filePathArg"
}
}
$arg1 = @('"', $patcherFile, '"')
$arg2 = @('"', $targetFile , '"')
Start-Process powershell -Verb RunAs -ArgumentList "-noexit -File", ($arg1 -join ""), "-filePath", ($arg2 -join ""), "-patterns $patterns"
Прочитайте сначала полностью вопрос, чтобы не писать фигню, которую вы написали