프로그래밍 방식으로 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 매개 변수를 추가하세요.
공유하기
더 알아보기
저자 소개
Russell Smith
IT 컨설턴트
관리 및 보안 기술을 전문으로 하는 IT 컨설턴트이자 저자입니다. Russell은 IT 분야에서 15년 이상의 경력을 보유하고 있으며, Windows 보안에 관한 책을 집필했고 Microsoft의 Official Academic Course (MOAC) 시리즈를 위한 저술에 공동 저자로 참여했습니다.