Я работаю над сценарием для извлечения всех zip-файлов из папки загрузок в каталог на рабочем столе. У меня все работает нормально для моих целей, но есть один файл .zip, который я пробовал, который вызывает у меня проблемы.
При попытке извлечь ExtractToDirectory он возвращает 2 аргумента и что «Извлечение в Zip-запись приведет к созданию файла вне указанного конечного каталога». Я могу использовать WinZip, а также Извлечь все в проводнике файлов, чтобы распаковать его. этот .zip правильно. Я в недоумении, в чем может быть проблема.
#Script to Unzip .zip files in downloads folder.
#$src = file you're unzipping, $dest = destination for contents
$src = 'C:\Users\' + $env:USERNAME + '\Downloads\'
$dest = 'C:\Users\' + $env:USERNAME + '\Desktop\Zips\'
Function UnZipper($src, $dest)
{
Add-Type -AssemblyName System.IO.Compression.FileSystem
#specifies zip files in directory
$zps = Get-ChildItem $src -Filter *.zip
#unpacks each zip in directory to destination folder
foreach ($zp IN $zps)
{
#Sets File Path of original zip
$Zips = ($src + $zp)
#Sets destination of zip. Creates folder if it does not exist.
$NewFolder = $dest + $zp
$NewFolder = $NewFolder.TrimEnd(".zip")
#Checks if file already exists (has been unzipped)
$FileExists = Test-Path $NewFolder
If ($FileExists -eq $false)
{
Write-Host 'UnZipping -'$zp
[System.IO.Compression.ZipFile]::ExtractToDirectory($Zips, $NewFolder)
}
}
}
UnZipper -src $src -dest $dest
Write-Host "Your files have been Un-Zipped!"
Write-Host "Press the enter key to exit and open your file(s)" -ForegroundColor Green
Read-Host
explorer $dest
В конечном счете, если это проблема с конкретным почтовым индексом, который не может быть исправлен, это нормально для меня. Я просто пытаюсь понять, почему он работает с WinZip, но не с PowerShell.