Windows a-t-il une commande ZIP intégrée pour la ligne de commande?

119

Étant donné que Windows Explorer (au moins Windows XP) prend en charge les fichiers ZIP, il semble qu'il devrait exister un équivalent en ligne de commande, mais je n'arrive pas à en trouver le signe.

Windows (XP, Vista, 7, 8, 2003, 2008, 2013) est-il fourni avec un outil zip intégré à la ligne de commande ou dois-je m'en tenir à des outils tiers?

Electrons_Ahoy
la source
5
Je ne suis pas tout à fait sûr pourquoi cette question est fermée. Cela revient souvent sous la forme "Comment compresser mes journaux?", Qui est clairement "Opérations, maintenance et surveillance". La question pourrait être reformulée pour être plus étroite, je suppose, mais les solutions sont générales.
Alficles
3
Pas sûr pourquoi c'est fermé car c'est le premier hit sur Google pour "windows 2008 zip"
AlSki
2
^ Je ressens la même chose (clairement), surtout compte tenu de la réponse acceptée.
Electrons_Ahoy
1
Sur Windows 7, vous pouvez également utilisercompact
jyz
Utilitaires de

Réponses:

56

Il n'est pas intégré à Windows, mais dans les outils du kit de ressources en tant que 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.

Exemples:

COMPRESS temp.txt compressed.txt
COMPRESS -R *.*
COMPRESS -R *.exe *.dll compressed_dir
Bryan
la source
1
Mauvais lien! Les liens corrects sont: microsoft.com/downloads/…
Lars Fastrup
1
Cela peut-il être utilisé sur Windows Server 2008 également?
Max
7
C’est loin d’un client ZIP utilisable. Vous ne pouvez pas compresser les dossiers et il semble n'y avoir aucun moyen d'ajouter des fichiers compressés à une archive existante. Éviter.
roufamatic
Quelqu'un d'autre obtient "Le dossier compressé (Zipped) est invalide ou corrompu" lorsque vous double-cliquez sur le fichier compressé avec cette méthode?
Luke Sampson
4
Compress n'est pas réellement un client ZIP. Il crée les fichiers que vous aviez l'habitude de trouver sur les disques d'installation MS-DOS et Windows 3.11 / 95. par exemple, WINSOCK.DL_ s'étend à WINSOCK.DLL. Vous pouvez décompresser les fichiers avec expand.
Bryan
25

Pas que je sache. En ce qui concerne les outils tiers, 7zip possède une interface en ligne de commande très agréable et le fichier binaire peut être distribué avec votre application dans le répertoire de l'application. Vous ne devez donc pas compter sur son installation préalable.

Chris
la source
Je suis un grand fan de 7Zip, mais le problème actuel concerne une machine sur laquelle je ne dispose pas de droits d'installation, et aucun widget zip tiers n'est installé. Merci quand même.
Electrons_Ahoy
5
Comme je l'ai dit, vous n'avez pas à l'installer. Copiez le binaire dans un dossier quelque part et exécutez-le à partir de là.
Chris
1
Eh bien, vous et moi ne considérons pas cela comme une installation. Le responsable informatique en question le sait cependant, si vous voyez ce que je veux dire. :)
Electrons_Ahoy
2
Ha, alors exécutez le binaire 7zip à partir d'un partage réseau distant :)
Brent Pabst
13

.Net 4.5 intègre cette fonctionnalité et peut être exploité par PowerShell. Vous devez être sur Server 2012, Windows 8 ou .Net 4.5 doit être installé manuellement.

[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
la source
0

Il existe une seule et unique commande PowerShell pour cela. (PowerShell v5.0 +)

Fermer:

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

Pour décompresser:

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

Sources:

Un merci spécial à @Ramhound

cowlinator
la source