Apakah Windows memiliki perintah ZIP bawaan untuk baris perintah?

119

Karena Windows Explorer (setidaknya Windows XP) memiliki beberapa dukungan dasar untuk file ZIP, sepertinya harus ada yang setara dengan command-line, tapi sepertinya saya tidak dapat menemukan satu pun tanda.

Apakah Windows (XP, Vista, 7, 8, 2003, 2008, 2013) dikirimkan dengan alat zip baris perintah bawaan, atau apakah saya harus tetap menggunakan alat pihak ketiga?

Electrons_Ahoy
sumber
5
Saya tidak sepenuhnya yakin mengapa pertanyaan ini ditutup. Ini sering muncul dalam bentuk "Bagaimana cara mengompresi log saya?", Yang jelas merupakan "Operasi, pemeliharaan, dan pemantauan". Pertanyaannya bisa diulang menjadi lebih sempit, saya kira, tetapi solusinya umum.
alfikel
3
Tidak yakin mengapa ini ditutup sebagai hit pertama di google untuk "windows 2008 zip"
AlSki
2
^ Saya merasakan hal yang sama (jelas), terutama mengingat jawaban yang diterima.
Electrons_Ahoy
1
Pada Windows 7 Anda juga dapat menggunakancompact
jyz
Utils

Jawaban:

56

Itu tidak dibangun ke dalam Windows, tapi ada di Resource Kit Tools seperti COMPRESS,

C:\>compress /?

Syntax:

COMPRESS [-R] [-D] [-S] [ -Z | -ZX ] Source Destination
COMPRESS -R [-D] [-S] [ -Z | -ZX ] Source [Destination]

Description:
Compresses one or more files.

Parameter List:
-R Rename compressed files.

-D Update compressed files only if out of date.

-S Suppress copyright information.

-ZX LZX compression. This is default compression.

-Z MS-ZIP compression.

Source Source file specification. Wildcards may be
used.

Destination Destination file | path specification.
Destination may be a directory. If Source is
multiple files and -r is not specified,
Destination must be a directory.

Contoh:

COMPRESS temp.txt compressed.txt
COMPRESS -R *.*
COMPRESS -R *.exe *.dll compressed_dir
Bryan
sumber
1
Tautan salah! Tautan yang benar adalah: microsoft.com/downloads/…
Lars Fastrup
1
Apakah ini dapat digunakan pada windows server 2008 juga?
Maks
7
Ini jauh dari klien ZIP yang dapat digunakan. Anda tidak dapat mengkompres folder dan tampaknya tidak ada cara untuk menambahkan file terkompresi ke arsip yang ada. Menghindari.
roufamatic
Adakah orang lain yang mendapatkan "Folder terkompresi (zip) tidak valid atau rusak" ketika Anda mengklik dua kali file yang dikompres dengan metode ini?
Luke Sampson
4
Kompres sebenarnya bukan klien ZIP. Itu menciptakan file-file yang Anda gunakan untuk menemukan pada disk instalasi MS-DOS dan Windows 3.11 / 95. mis. WINSOCK.DL_ berkembang menjadi WINSOCK.DLL. Anda dapat membongkar file menggunakan expand.
Bryan
25

Bukannya aku sadar. Sejauh alat pihak ketiga berjalan, 7zip memiliki antarmuka baris perintah yang cukup bagus dan biner dapat didistribusikan dengan aplikasi Anda di direktori aplikasi, jadi Anda tidak harus bergantung pada itu sedang diinstal sebelumnya.

Chris
sumber
Saya penggemar berat 7Zip, tetapi masalah saat ini adalah pada mesin yang saya tidak memiliki hak instal, dan tidak ada widget zip pihak ke-3 yang diinstal. Terimakasih Meskipun.
Electrons_Ahoy
5
Seperti yang saya katakan, Anda tidak harus menginstalnya. Salin biner ke folder di suatu tempat dan jalankan dari sana.
Chris
1
Ya, Anda dan saya tidak menganggap pemasangan itu. Manajer TI yang dimaksud tidak, jika Anda tahu apa yang saya maksud. :)
Electrons_Ahoy
2
Ha, jadi jalankan biner 7zip dari berbagi jaringan jarak jauh :)
Brent Pabst
13

.Net 4.5 memiliki fungsi ini bawaannya, dan dapat dimanfaatkan oleh PowerShell. Anda harus menggunakan Server 2012, Windows 8, atau .Net 4.5 diinstal secara manual.

[Reflection.Assembly]::LoadWithPartialName("System.IO.Compression.FileSystem")
$Compression = [System.IO.Compression.CompressionLevel]::Optimal
$IncludeBaseDirectory = $false

$Source = "C:\Path\To\Source"
$Destination = "C:\CoolPowerShellZipFile.zip"

[System.IO.Compression.ZipFile]::CreateFromDirectory($Source,$Destination,$Compression,$IncludeBaseDirectory)
MDMarra
sumber
0

Ada satu perintah PowerShell sederhana untuk ini. (PowerShell v5.0 +)

Untuk zip:

Compress-Archive -LiteralPath 'C:\mypath\testfile.txt' -DestinationPath "C:\mypath\Test.zip"

Untuk unzip:

Expand-Archive -LiteralPath "C:\mypath\Test.Zip" -DestinationPath "C:\mypath" -Force

Sumber:

Terima kasih khusus kepada @Ramhound

cowlinator
sumber