Deoarece Windows Explorer (cel puțin începând din Windows XP) are un suport de bază pentru fișiere ZIP, se pare ca acolo ar trebui să fie o linie de comandă echivalent, dar nu pot't par să găsească vreun semn de unul.
Are Windows (XP, Vista, 7, 8, 2003, 2008, 2013) nava cu un built-in de linie de comandă instrument zip, sau trebuie să rămânem cu instrumente de la terți?
L'nu s-a construit în Windows, dar's în Resource Kit Tools ca COMPRIMA
,
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.
Exemple:
COMPRESS temp.txt compressed.txt
COMPRESS -R *.*
COMPRESS -R *.exe *.dll compressed_dir
Nu că m-am'm conștienți de. Pe cât instrumente de terță parte merge, 7zip are o interfață linie de comandă și binare pot fi distribuite cu aplicație în's directory, astfel încât să don't trebuie să se bazeze pe ea să fie instalat înainte de timp.
Powershell nu. A se vedea:
Comprima Fișiere cu Windows PowerShell apoi pachetului Windows Vista Sidebar Gadget
.Net 4.5 are această funcționalitate built-in, și poate fi susținut prin PowerShell. Te'll nevoie pentru a fi pe Server 2012, Windows 8, sau au .Net 4.5 instalat 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)
O altă soluție a găsit pe superuser-ul utilizați windows native com object in .fișier bat:
Există un singur, simplu de comandă PowerShell pentru acest lucru. (PowerShell v5.0+)
Pentru a zip:
Compress-Archive -LiteralPath 'C:\mypath\testfile.txt' -DestinationPath "C:\mypath\Test.zip"
Pentru a dezarhiva:
Expand-Archive -LiteralPath "C:\mypath\Test.Zip" -DestinationPath "C:\mypath" -Force
Surse:
Mulțumiri speciale pentru @Ramhound