PowerShell을 사용하여 파일 압축 및 압축 해제

Marion Paul Kenneth Mendoza 2023년1월30일
  1. PowerShell을 사용하여 파일 압축
  2. PowerShell을 사용하여 파일 압축 풀기
PowerShell을 사용하여 파일 압축 및 압축 해제

PowerShell 5.0에서 Microsoft에는 zip 아카이브를 만들고 기존 아카이브에서 파일을 추출하는 명령이 있습니다. 이 문서에서는 압축 파일을 보관 및 압축 해제하는 PowerShell 명령에 대해 설명합니다.

다음 명령은 PowerShell v5.0에서 릴리스된 최신 cmdlet 중 두 가지입니다. Compress-Archive 명령은 폴더 또는 개별 파일에서 압축된 아카이브 파일을 만들고 Expand-Archive 명령은 압축된 아카이브 파일에서 파일을 추출합니다.

PowerShell을 사용하여 파일 압축

PowerShell을 사용하여 새 .zip 아카이브의 파일을 압축해 보겠습니다.

-Path 매개변수를 사용하여 압축하려는 폴더의 위치를 ​​지정하고 -DestinationPath 매개변수를 사용하여 생성하려는 압축 아카이브의 이름을 지정합니다.

예를 들어, 아래 명령은 루트 C: 디렉토리에 Temp 폴더를 압축하고 Temp 폴더에 Temp_Files.zip이라는 아카이브를 만듭니다.

Compress-Archive -Path C:\Temp -DestinationPath C:\Temp\Temp_Files.zip

또는 -Path 매개변수 대신 -LiteralPath 매개변수를 사용하여 Temp 폴더의 파일을 개별적으로 압축할 수 있습니다. 이렇게 하면 -LiteralPath 매개변수에 나열된 두 개의 파일만으로 아카이브가 생성됩니다.

Compress-Archive -LiteralPath C:\Temp\File1.txt, C:\Temp\File2.txt -DestinationPath C:\Temp\Temp_Files.zip -Force

-Force 매개변수를 추가하여 내가 만든 첫 번째 아카이브를 덮어씁니다. -Force 매개 변수가 없으면 기존 아카이브를 바꿀 수 없으며 Windows PowerShell은 대신 아카이브에 파일을 추가하라는 메시지를 표시합니다.

아카이브에 여러 파일을 추가하려면 -Update 매개변수를 사용할 수 있습니다. 예를 들어 아래 명령은 Invoices 폴더의 모든 파일을 기존 Temp_Files.zip 아카이브에 추가합니다.

Compress-Archive -Path C:\Temp\* -Update -DestinationPath C:\Temp\Temp_Files.zip

-CompressionLevel 매개변수를 NoCompression, Optimal 또는 Fastest의 세 가지 값 중 하나로 사용할 수도 있습니다.

-CompressionLevel 매개변수가 표현식에 없으면 Optimal이 기본값입니다. ‘최적’ 압축은 최상의 압축을 사용하지만 ‘가장 빠름’보다 더 오래 걸릴 수 있습니다.

압축 없이 아카이브를 생성하려면 NoCompression 값을 사용하십시오.

Compress-Archive -Path C:\Temp\* -Update -DestinationPath C:\Temp\Temp_Files.zip -CompressionLevel Optimal

PowerShell을 사용하여 파일 압축 풀기

아카이브에서 파일을 추출하려면 압축을 푼 파일의 대상 폴더와 아카이브 이름을 지정해야 합니다.

Expand-Archive 명령을 사용하면 Temp_Files.zip 아카이브의 내용을 Temp 폴더로 추출합니다.

Expand-Archive -LiteralPath C:\Temp\Temp_Files.Zip -DestinationPath C:\Temp

Expand-Archive는 압축을 푼 파일의 폴더를 자동으로 생성합니다.

그러나 압축을 푼 압축 파일이 대상 폴더에 이미 있는 경우 Expand-Archive에서 오류가 발생합니다. 명령줄에 -Force 매개변수를 추가하여 대상 폴더의 파일을 덮어쓸 수 있습니다.

Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

관련 문장 - PowerShell File