Kako lahko zip ali unzip iz skripte uporabljate samo z vgrajenimi zmogljivostmi sistema Windows?

V operacijskem sistemu Windows lahko nekatere datoteke zapakirate tako, da

desni klik → Pošlji vStisnjena (zip) mapa

in razpakirajte z dvojnim klikom na datoteko .zip ter razpakirajte datoteke.

Ali obstaja način za uporabo teh zmožnosti iz skripte (.bat datoteke) ne da bi bilo treba namestiti programsko opremo tretje osebe?

Rešitev

Leta 2013 to ni bilo mogoče. Microsoft za to ni zagotovil nobenega izvedljivega programa.

Na tej povezavi si oglejte nekaj načinov VBS za to. https://superuser.com/questions/201371/create-zip-folder-from-the-command-line-windows

Od operacijskega sistema Windows 8 naprej je privzeto nameščen .NET Framework 4.5, s System.IO.Compression.ZipArchive in PowerShell na voljo, lahko napišete skripte za doseganje tega, glejte https://stackoverflow.com/a/26843122/71312

Komentarji (8)

Iskal sem odgovor na to vprašanje in iz moje raziskave se zdi, da je odgovor DiryBoya točen.

Ugotovil sem, da program compact.exe stisne datoteke, vendar ne ustvari močno stisnjene datoteke (ali niza datotek). Podoben je možnosti, ki jo dobite z desnim klikom na črko pogona ali particijo v operacijskem sistemu Windows. Dobite možnost za čiščenje (odstranitev začasnih datotek itd.) in stiskanje datotek. Stisnjene datoteke so še vedno dostopne, vendar so le stisnjene, da se na disku, na katerem je premalo prostora, ustvari prostor.

Našel sem tudi program compress.exe, ki sem ga slučajno imel v računalniku. V večini računalnikov z Okni ga ni in je del kompleta virov 2003. Ustvari nekakšno zip datoteko, ki pa je v resnici bolj podobna datotekam z namestitvenega diska Windows (ima podčrtanko kot zadnji znak končnice ali imena datoteke). Ukaz extract.exe pa te datoteke raztegne.

Vendar pa velja, da če je to mogoče narediti z grafičnim uporabniškim vmesnikom, potem verjetno obstaja način, kako to narediti s paketnim ukazom, .vbs ali kakšno drugo vrsto skripte v ukazni vrstici. Ker ima Windows možnost 'send to' za ustvarjanje datoteke zip, sem vedel, da mora obstajati način, kako to narediti prek ukazne vrstice, in našel sem nekaj možnosti.

Tukaj je odlična povezava, ki prikazuje, kako zapreti datoteko z uporabo izvirnih ukazov sistema Windows.

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

Preizkusil sem ga z imenikom, ki vsebuje več vgnezdenih datotek in map, in je deloval brezhibno. Samo upoštevajte obliko ukazne vrstice.

Obstaja tudi način za razpakiranje datotek prek ukazne vrstice, ki sem ga prav tako našel. En način, samo prinese odprto okno raziskovalca, ki prikazuje, kakšna je vsebina zapakirane datoteke. Nekateri od teh uporabljajo tudi Javo, ki ni nujno lastna oknom, vendar je tako pogosta, da se skoraj zdi tako.

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

Komentarji (1)

Datoteko, ki je stisnjena v zipu ali izvirno stisnjena v sistemu Windows, lahko sprostite z uporabo ukaza Expand, npr.

expand MyFile.zip myFile
Komentarji (5)