Netwrix 1Secure는 데이터와 아이덴티티 전반에 걸쳐 통합된 가시성을 제공합니다 - 14일간 무료로 전체 액세스가 가능합니다.무료 평가판 시작

리소스 센터블로그

PowerShell을 사용하여 ZIP 아카이브 생성 및 파일 압축 해제

PowerShell을 사용하여 ZIP 아카이브 생성 및 파일 압축 해제

Mar 17, 2023

프로그래밍 방식으로 ZIP 아카이브를 생성하거나 기존 아카이브에서 파일을 추출해야 할 때가 가끔 있습니다. Windows PowerShell 5.0은 이를 위한 두 가지 cmdlet을 추가했습니다. The Compress-Archive cmdlet을 사용하면 폴더나 개별 파일로부터 새 아카이브를 만들고 아카이브에 파일을 추가할 수 있으며; Extract-Archive 는 파일 압축을 풀 때(언집) 사용할 수 있습니다.

시스템에 PowerShell 5.0 이상이 이미 설치되어 있지 않다면 Microsoft 웹사이트에서 Windows Management Framework의 최신 버전을 다운로드할 수 있습니다.

PowerShell을 사용하여 Zip 파일 만들기

먼저 PowerShell을 사용해 새 zip 아카이브에 파일을 압축해 보겠습니다. 필요한 것은 -Path 매개변수를 사용해 압축하려는 폴더를 지정하고, –DestinationPath 매개변수를 사용해 만들고자 하는 아카이브의 이름을 지정하는 것입니다. 아래 명령은 루트 C 디렉터리의 Invoices 폴더를 zip으로 압축하고, Archives 폴더에 Invoices.zip 이라는 이름의 아카이브를 생성합니다:

      Compress-Archive -Path C:Invoices -DestinationPath C:ArchivesInvoices
      

또는 -LiteralPath 를 사용하여 Invoices 폴더 안의 파일을 개별적으로 zip으로 압축할 수도 있습니다. –Path 대신에 사용합니다. 이 명령은 –LiteralPath 매개변수에 명시적으로 나열된 두 파일만을 포함하는 아카이브를 만듭니다:

      Compress-Archive -LiteralPath C: InvoicesFile1.txt, C:InvoicesFile2.txt -DestinationPath C:ArchivesInvoices -Force
      

첫 번째 명령으로 생성한 아카이브를 덮어쓰기 위해 -Force 매개변수를 추가했다는 점에 유의하세요. -Force 매개변수가 없으면 기존 아카이브를 덮어쓸 수 없으며, 대신 PowerShell이 아카이브에 파일을 추가할지 묻는 메시지를 표시합니다.

아카이브에 파일을 추가하려면 -Update 매개 변수를 사용합니다. 아래 명령은 Invoices 폴더의 모든 파일을 기존 Invoices.zip 아카이브에 추가합니다:

      Compress-Archive -Path C:Invoices* -Update -DestinationPath C:ArchivesInvoices
      

선택 사항으로, -CompressionLevel 매개 변수를 세 가지 값(Optimal, NoCompression 또는 Fastest) 중 하나로 설정할 수 있습니다. -CompressionLevel 매개 변수가 지정되지 않으면 Optimal이 기본 설정입니다. 사용 가능한 최고의 압축을 사용하지만, Fastest를 사용하는 것보다 시간이 더 걸릴 수 있습니다. 압축을 사용하지 않는 아카이브를 만들려면 NoCompression 값을 사용하세요.

PowerShell로 파일 압축 풀기

아카이브에서 파일을 추출하는 것은, 아카이브를 만드는 것보다 훨씬 쉽습니다. 필요한 것은 아카이브의 이름과 압축이 해제될 파일의 대상 폴더만 지정하면 됩니다. 아래 명령은 Expand-Archive cmdlet을 사용하여 Invoices.zip 아카이브의 내용을 InvoicesUnzipped 이라는 폴더로 추출합니다.

      Expand-Archive -LiteralPath C:ArchivesInvoices.Zip -DestinationPath C: InvoicesUnzipped
      

파일을 압축 해제할 폴더는 반드시 존재할 필요는 없습니다. Expand-Archive 는 필요할 경우 폴더를 자동으로 생성합니다. 하지만 압축을 풀려는 파일이 이미 대상 폴더에 존재한다면, Expand-Archive 오류가 발생합니다. 대상 폴더의 파일을 덮어쓰려면 명령에 -Force 매개 변수를 추가하세요.

공유하기

더 알아보기

저자 소개

Asset Not Found

Russell Smith

IT 컨설턴트

관리 및 보안 기술을 전문으로 하는 IT 컨설턴트이자 저자입니다. Russell은 IT 분야에서 15년 이상의 경력을 보유하고 있으며, Windows 보안에 관한 책을 집필했고 Microsoft의 Official Academic Course (MOAC) 시리즈를 위한 저술에 공동 저자로 참여했습니다.