У меня есть сценарий powershell, где я хотел бы извлечь конкретные записи.Кажется, я не могу понять, как обойти ошибку, когда он не может найти методы расширения для объекта .NET ZipArchiveEntry.
Мой скрипт ниже запустится и "выпишет" файлы изzip, но когда он попадает в строку $ entry.ExtractToFile ($ dst) , он выдает следующую ошибку:
Ошибка вызова метода, поскольку [System.IO.Compression.ZipArchiveEntry] не содержит метод с именем «ExtractToFile».
Add-Type -AssemblyName System.IO.Compression -ErrorAction Stop
Add-Type -AssemblyName System.IO.Compression.FileSystem -ErrorAction Stop
$filesToExtract = @(
"appsettings.json";
"Content\cms\index.xml";
)
$archive = "C:\Users\User1\Desktop\archive.zip"
$dstRoot = "C:\Users\User1\Desktop\test"
$zip = [IO.Compression.ZipFile]::OpenRead($archive)
foreach($entry in $zip.Entries){
if ($filesToExtract -contains $entry.FullName){
$dst = [io.path]::combine($dstRoot, $entry.FullName)
%{ "Extract ==> " + $dst }
$entry.ExtractToFile($dst)
}
}
$zip.Dispose()