System Windows oferuje możliwość rozpakowania archiwów, a nawet udostępnienia tej funkcji programowo za pośrednictwem modelu COM. Oto jak to zrobić.
Często zadawaliśmy to pytanie wiele razy na Stack Overflow i forach, ale większość ludzi zaleca używanie rozszerzeń społeczności PowerShell lub starszych aplikacji wiersza poleceń. Prawdę powiedziawszy, nie jest to tak naprawdę trudne do wykonania w PowerShellu.
$ shell = new-object -com shell.application
$ zip = $ shell.NameSpace ("C: \ howtogeeksite.zip")
foreach ($ item in $ zip.items ())
$ shell.Namespace ("C: \ temp \ howtogeek"). copyhere ($ item)
Wartości Hardcoding nie są idealne, więc przejdźmy do szybkiej funkcji.
funkcja Rozwiń-ZIPFile (plik $, miejsce docelowe $)
$ shell = new-object -com shell.application
$ zip = $ shell.NameSpace (plik $)
foreach ($ item in $ zip.items ())
$ shell.Namespace ($ destination) .copyhere ($ item)
Następnie możemy po prostu użyć funkcji podobnej do tej:
Rozwiń-ZIPFile -File "C: \ howtogeeksite.zip" -Destination "C: \ temp \ howtogeek"
Należy pamiętać o dodaniu tego do profilu programu Windows PowerShell, aby nie było potrzeby instalowania bibliotek innych firm w celu zapewnienia funkcjonalności, która jest już dostępna w jednym miejscu.