Windows에 명령 줄에 대한 기본 제공 ZIP 명령이 있습니까? 기본적으로 지원하므로 명령 줄에

Windows 탐색기 (Windows XP 이상)는 ZIP 파일을 기본적으로 지원하므로 명령 줄에 해당하는 것처럼 보이지만 하나의 부호는 찾을 수없는 것 같습니다.

Windows (XP, Vista, 7, 8, 2003, 2008, 2013)는 기본 제공 명령 줄 zip 도구와 함께 제공됩니까, 아니면 타사 도구를 사용해야합니까?



답변

Windows에는 기본 제공되지 않지만 Resource Kit Tools 에는 다음과 같이 있습니다 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.

예 :

COMPRESS temp.txt compressed.txt
COMPRESS -R *.*
COMPRESS -R *.exe *.dll compressed_dir

답변

내가 아는 것은 아닙니다. 타사 도구의 경우 7zip에는 멋진 명령 줄 인터페이스가 있으며 바이너리는 앱과 함께 앱의 디렉토리에 배포 할 수 있으므로 미리 설치하지 않아도됩니다.


답변


답변

.Net 4.5에는이 기능이 내장되어 있으며 PowerShell에서 활용할 수 있습니다. Server 2012, Windows 8에 있거나 .Net 4.5를 수동으로 설치해야합니다.

[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)

답변

수퍼 유저 사이트에서 발견 된 또 다른 솔루션은 .bat 파일의 windows native com 객체를 사용하는 것입니다.

Windows의 내장 기능 만 사용하여 명령 프롬프트에서 파일을 압축하여 파일을 압축 할 수 있습니까?


답변

이를위한 하나의 간단한 PowerShell 명령이 있습니다. (PowerShell v5.0 +)

우편 번호 :

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

압축을 풀려면

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

출처 :

@Ramhound에게 특별한 감사