Как извлечь файлы ZIP с помощью PowerShell
Мы часто задавали этот вопрос много раз на Stack Overflow и на форумах, но большую часть времени люди рекомендуют использовать расширения сообщества PowerShell или устаревшее приложение командной строки. По правде говоря, на самом деле это не так сложно сделать в PowerShell.
$shell = new-object -com shell.application $zip = $shell.NameSpace(“C:howtogeeksite.zip”) foreach($item in $zip.items()) { $shell.Namespace(“C: emphowtogeek”).copyhere($item) }
Значения hardcoding на самом деле не идеальны, поэтому позволяет быстро превратить его в быстродействующую функцию.
function Expand-ZIPFile($file, $destination) { $shell = new-object -com shell.application $zip = $shell.NameSpace($file) foreach($item in $zip.items()) { $shell.Namespace($destination).copyhere($item) } }
Тогда мы можем просто использовать такую функцию:
Expand-ZIPFile –File “C:howtogeeksite.zip” –Destination “C: emphowtogeek”
Не забудьте добавить это в свой профиль Windows PowerShell, чтобы вам не нужны сторонние библиотеки для функциональности, которая уже включена в комплект.