Format pliku ZIP zmniejsza rozmiar plików, kompresując je do jednego pliku. Ten proces oszczędza miejsce na dysku, szyfruje dane i ułatwia udostępnianie plików innym osobom. Oto jak spakować i rozpakować pliki za pomocą programu PowerShell.
Spis treści:
Jak spakować pliki za pomocą PowerShell
Zacznijmy od skompresowania niektórych plików do archiwum plików ZIP za pomocą polecenia cmdlet Compress-Archive. Pobiera ścieżkę do dowolnych plików, które chcesz skompresować – wiele plików jest oddzielonych przecinkami – i archiwizuje je w określonym przez Ciebie miejscu docelowym.
Najpierw otwórz PowerShell, wyszukując go z menu Start, a następnie wpisując następujące polecenie, zastępując
Compress-Archive -LiteralPath-DestinationPath
Podając ścieżkę docelową, nadaj plikowi archiwum nazwę. W przeciwnym razie program PowerShell zapisze go jako „.zip” w miejscu określonym przez użytkownika.
Uwaga: cudzysłowy wokół ścieżki są konieczne tylko wtedy, gdy ścieżka pliku zawiera spację.
Alternatywnie, aby spakować całą zawartość folderu – i wszystkie jego podfoldery – możesz użyć następującego polecenia, zastępując
Compress-Archive -LiteralPath-DestinationPath
W poprzednim przykładzie umieściliśmy ścieżkę do katalogu zawierającego wiele plików i folderów bez określania pojedynczych plików. PowerShell pobiera wszystko z katalogu głównego i kompresuje go, podfoldery i wszystko.
Polecenie cmdlet Compress-Archive umożliwia użycie znaku wieloznacznego
aby jeszcze bardziej rozszerzyć funkcjonalność. Używając znaku, możesz wykluczyć katalog główny, skompresować tylko pliki w katalogu lub wybrać wszystkie pliki określonego typu. Aby użyć symbolu wieloznacznego z Compress-Archive, należy zamiast tego użyć parametru -Path, ponieważ -LiteralPath ich nie akceptuje.
Compress-Archive -Path C:pathtofile* -DestinationPath C:pathtoarchive.zip
na końcu ścieżki do pliku mówisz PowerShell, aby pobierał tylko zawartość katalogu głównego. Powinien wyglądać mniej więcej tak:
Compress-Archive -Path C:pathtofile*.jpg -DestinationPath C:pathtoarchive.zip
Następnie załóżmy, że masz folder z wieloma różnymi typami plików (.doc, .txt, .jpg itp.), Ale chcesz skompresować tylko jeden typ. Możesz powiedzieć PowerShell, aby zarchiwizował je bez bezpośredniego dotykania innych. Notacja polecenia wyglądałaby następująco:
Spakuj tylko określone typy plików z folderu.
Compress-Archive -Path C:pathtofile*.* -DestinationPath C:pathtoarchive.zip
Wreszcie, jeśli chcesz archiwum, które kompresuje tylko pliki w katalogu głównym – i wszystkich jego podkatalogach – możesz użyć symbolu wieloznacznego gwiazda-kropka-gwiazda (*. *), Aby je spakować. Wyglądałoby to mniej więcej tak:
Spakuj tylko pliki z folderu głównego za pomocą widlcard star-dot-star (*. *).
Compress-Archive -Path C:pathtofiles -Update -DestinationPath C:pathtoarchive.zip
Nawet po zakończeniu archiwizacji można zaktualizować istniejący spakowany plik za pomocą parametru -Update. Pozwala zastąpić starsze wersje plików w archiwum nowszymi, które mają te same nazwy, a także dodać pliki, które zostały utworzone w katalogu głównym. Będzie wyglądać mniej więcej tak:
Zaktualizuj już istniejący plik zip przy użyciu parametru -Update.
Jak rozpakować pliki za pomocą PowerShell
Expand-Archive -LiteralPath-DestinationPath
ze ścieżką do plików, które chcesz skompresować oraz odpowiednio nazwą i folderem, do którego chcesz przejść:
Rozpakuj archiwum za pomocą polecenia cmdlet Expand-Archive.
Folder docelowy określony do wyodrębnienia plików zostanie wypełniony zawartością archiwum. Jeśli folder nie istniał przed rozpakowaniem, program PowerShell utworzy folder i umieści w nim zawartość przed rozpakowaniem.
W poprzednim przykładzie, jeśli opuścimy -DestinationPath, PowerShell utworzy folder „Archive” w ścieżce „C: Usersbrady” i wypakuje pliki z archiwum do folderu.
Jeśli pominiesz parametr -DestinationPath, program PowerShell wyodrębni plik zip do aktualnie wybranego katalogu.
Jeśli folder już istnieje w miejscu docelowym, program PowerShell zwróci błąd podczas próby rozpakowania plików. Można jednak zmusić program PowerShell do zastąpienia danych nowymi, używając parametru -Force.
Parametru -Force należy używać tylko wtedy, gdy stare pliki nie są już potrzebne, ponieważ spowoduje to nieodwracalne zastąpienie plików na komputerze.