Jak można zipować lub rozpakowywać ze skryptu używając TYLKO wbudowanych możliwości Windows'?

W systemie Windows można zripować niektóre pliki poprzez

prawy przycisk myszy → Wyślij doFolder skompresowany (zzipowany).

I rozpakować przez podwójne kliknięcie na pliku .zip i rozpakować pliki.

Czy istnieje sposób, aby zastosować te zdolności z poziomu skryptu (plik .bat) bez potrzeby instalowania jakiegokolwiek oprogramowania firm trzecich?

Rozwiązanie

Jeszcze w 2013 roku nie było to możliwe. Microsoft nie udostępniał żadnego pliku wykonywalnego do tego celu.

Zobacz ten link dla niektórych VBS sposób, aby to zrobić. https://superuser.com/questions/201371/create-zip-folder-from-the-command-line-windows

Od Windows 8, .NET Framework 4.5 jest zainstalowany domyślnie, z System.IO.Compression.ZipArchive i PowerShell dostępny, można napisać skrypty, aby to osiągnąć, zobacz https://stackoverflow.com/a/26843122/71312

Komentarze (8)

I've zostały szuka odpowiedzi na to pytanie dokładnie i z moich badań, DiryBoy's odpowiedź wydaje się być dokładne.

Znalazłem compact.exe program kompresuje pliki, ale nie do tworzenia wysoce skompresowany plik (lub zestaw plików). Jest to podobne do opcji, które można uzyskać po kliknięciu prawym przyciskiem myszy na literę dysku lub partycji w systemie Windows. Otrzymujesz opcję, aby zrobić porządek (usunąć pliki tymczasowe, itp.), jak również skompresować pliki. Skompresowane pliki są nadal dostępne, ale są po prostu skompresowane, aby utworzyć miejsce na dysku, który jest mało miejsca.

Znalazłem również compress.exe, który przypadkowo znalazł się na moim komputerze. Nie jest on natywnie zainstalowany na większości maszyn windowsowych i jest częścią zestawu zasobów 2003. Tworzy on pewnego rodzaju plik zipped, ale jest on naprawdę bardziej podobny do plików z dysku instalacyjnego Windows (ma podkreślenie jako ostatni znak rozszerzenia pliku lub nazwy). A polecenie extract.exe wyodrębnia te pliki.

Jednak mantra jest, jeśli można to zrobić natywnie przez GUI to prawdopodobnie istnieje sposób, aby to zrobić przez wsad, .vbs, lub inny rodzaj skryptu w wierszu poleceń. Odkąd windows ma 'send to' opcję tworzenia pliku zip, wiedziałem, że musi być sposób, aby zrobić to przez wiersz poleceń i znalazłem kilka opcji.

Tutaj jest świetny link, który pokazuje jak zripować plik używając natywnych poleceń windows.

https://superuser.com/questions/110991/can-you-zip-a-file-from-the-command-prompt-using-only-windows-built-in-capabili

Przetestowałem to z katalogiem zawierającym wiele zagnieżdżonych plików i folderów i działało to doskonale. Wystarczy postępować zgodnie z formatem wiersza poleceń.

Istnieje również sposób na rozpakowanie plików za pomocą wiersza poleceń, który również znalazłem. Jeden sposób, po prostu przynosi otworzyć okno eksploratora pokazując, co zawartość zzipowanego pliku jest. Niektóre z nich używają również Javy, która niekoniecznie jest natywna dla Windows, ale jest tak powszechna, że prawie tak się wydaje.

https://superuser.com/questions/149489/does-windows-7-have-unzip-at-the-command-line-installed-by-default

https://stackoverflow.com/questions/1021557/how-to-unzip-a-file-using-the-command-line

Komentarze (1)

Możesz rozpakować zzipowany lub natywnie skompresowany plik Windows za pomocą polecenia Rozwiń, np.

expand MyFile.zip myFile
Komentarze (5)