Windows 11/10에서 PowerShell을 사용하여 파일을 압축하고 압축을 푸는 방법

기본적으로 ZIP 파일 형식은 파일을 단일 파일로 압축하여 파일 크기를 줄입니다. 이 프로세스는 디스크 공간을 절약하고 데이터를 암호화하며 다른 사람과 파일을 쉽게 공유할 수 있도록 합니다. 이 게시물에서는 Windows 11/10에서 PowerShell 유틸리티를 사용하여 파일을 압축 및 압축 해제 하는 방법을 보여줍니다.( zip and unzip files )( zip and unzip files )

PowerShell을 사용하여 파일을 압축하는 방법

먼저 Compress-Archive(Compress-Archive) cmdlet 을 사용하여 일부 파일을 ZIP 파일 아카이브 로 압축합니다. 압축하려는 파일의 경로(여러 파일은 쉼표로 구분)를 가져와 지정한 대상에 보관합니다.

다음을 수행합니다.

Windows key + X 를 눌러 고급 사용자 메뉴(open Power User Menu) 를 연 다음 키보드에서 I 를 눌러 PowerShell 을 시작합니다 .

그런 다음 아래 구문을 입력하고 <PathToFiles><PathToDestination> 자리 표시자를 압축하려는 파일의 경로와 파일이 이동할 이름 및 폴더로 각각 바꿉니다.

Compress-Archive -LiteralPath <PathToFiles> -DestinationPath <PathToDestination>

참고(Note) : 대상 경로를 제공할 때 아카이브 파일에 이름을 지정해야 합니다. 그렇지 않으면 PowerShell 에서 지정한 위치에 ".zip"으로 저장합니다. 또한 경로 주위의 따옴표는 파일 경로에 공백이 포함된 경우에만 필요합니다.

또는 폴더와 모든 하위 폴더의 전체 내용을 압축하려면 위와 동일한 구문을 사용하여 <PathToFiles><PathToDestination> 자리 표시자를 압축하려는 파일의 경로와 압축할 이름 및 폴더로 바꿀 수 있습니다. 각각 가고 싶다.

아래 이미지와 같이 표시되어야 합니다.

이 명령은 개별 파일을 지정하지 않고 여러 파일과 폴더가 있는 디렉토리의 경로를 지정합니다. PowerShell 은 루트 디렉터리 내부의 모든 것을 가져와서 이 디렉터리, 하위 폴더 및 모두를 압축합니다.

읽기(Read) : .TAR.GZ, .TGZ 또는 .GZ를 여는 방법. 파일(How to open .TAR.GZ, .TGZ or .GZ. Files) .

와일드카드 문자(*) 함수

Compress-Archive cmdlet을 사용하면 와일드카드 문자(*)를 사용하여 기능을 더욱 확장할 수 있습니다 . 캐릭터를 사용할 때 루트 디렉터리를 제외하거나 디렉터리의 파일만 압축하거나 특정 유형의 모든 파일을 선택할 수 있습니다. Compress-Archive 와 함께 와일드카드를 사용하려면 -LiteralPath 가 허용하지 않으므로  대신 -Path 매개변수 를 사용해야 합니다.

이제 위에 제공된 두 가지 예에서 아카이브 파일을 생성할 때 루트 디렉토리와 모든 파일 및 하위 디렉토리를 포함하는 방법을 보았습니다. 그러나 Zip(Zip) 파일 에서 루트 폴더를 제외하려면 와일드카드를 사용하여 아카이브에서 이를 생략할 수 있습니다. 파일 경로 끝에 별표(*)를 추가하면 PowerShell 은 루트 디렉터리 내부의 내용만 가져옵니다. 올바른 구문은 아래에 나와 있습니다.

Compress-Archive -Path C:\path\to\file\* -DestinationPath C:\path\to\archive.zip

Windows 10에서 PowerShell을 사용하여 파일을 압축하는 방법

이제 다양한 파일 형식(.docx, .txt , .jpg 등)이 있는 폴더가 있지만 한 가지 형식만 압축하려는 경우 아래 구문을 사용할 수 있습니다. PowerShell 은 다른 파일을 명시적으로 건드리지 않고 지정된 파일을 보관합니다. 이 방법을 사용하면 루트(Bear) 폴더의 하위 디렉터리와 파일이 아카이브에 포함되지 않습니다.

Compress-Archive -Path C:\path\to\file\*.docx -DestinationPath C:\path\to\archive.zip

마지막으로 루트 디렉터리와 모든 하위 디렉터리의 파일만 압축하는 아카이브를 원하면 별점 별표(*.*) 와일드카드를 사용하여 아래 구문으로 파일을 압축합니다. 이 방법에서도 루트 폴더의 하위 디렉토리와 파일은 아카이브에 포함되지 않습니다.

Compress-Archive -Path C:\path\to\file\*.* -DestinationPath C:\path\to\archive.zip

이제 아카이브가 완료된 후에도 아래에 제공된 올바른 구문으로 -Update 매개변수를 사용하여 기존 압축 파일을 업데이트할 수 있다는 점을 지적해야 합니다. (-Update )이를 통해 아카이브의 이전 파일 버전을 동일한 이름을 가진 최신 버전으로 교체하고 루트 디렉토리에 생성된 파일을 추가할 수 있습니다.

Compress-Archive -Path C:\path\to\files -Update -DestinationPath C:\path\to\archive.zip

이것 으로 Windows 10 에서 (Windows 10)PowerShell 을 사용하여 파일을 압축할 수 있는 다양한 시나리오의 프로세스를 마칩니다 . PowerShell 을 사용하여 파일 압축을 푸는 방법을 보려면 아래를 계속하십시오 .

읽기(Read) : Windows 11/10에 CURL을 설치하는 방법 .

PowerShell을 사용하여 파일 압축을 푸는 방법

이미 보았듯이 PowerShell 을 사용하여 파일을 압축할 수 있습니다. 유틸리티는 아카이브의 압축을 풀 수도 있습니다. 이 프로세스는 압축하는 것보다 훨씬 쉽습니다. 압축을 풀 준비가 된 데이터의 대상과 소스 파일만 있으면 됩니다.

해보자.

PowerShell 을 사용하여 파일의 압축을 풀려면 다음을 수행하십시오.

파워셸을 엽니다.

그런 다음 아래 구문을 입력하여 <PathToZipFile><PathToDestination> 자리 표시자를 압축하려는 파일의 경로와 이동할 이름 및 폴더로 각각 바꿉니다.

Expand-Archive -LiteralPath <PathToZipFile> -DestinationPath <PathToDestination>

파일을 추출하도록 지정된 대상 폴더는 아카이브 내용으로 채워집니다. 압축을 풀기 전에 폴더가 존재하지 않았다면 PowerShell 은 압축을 풀기 전에 폴더를 만들고 그 안에 내용을 넣습니다.

기본적으로 -DestinationPath  매개 변수를 생략하면 PowerShell 은 현재 루트 디렉터리에 내용의 압축을 풀고 Zip 파일 이름을 사용하여 새 폴더를 만듭니다.

이 예에서는 명령에 Docs 폴더 가 지정되어 있으므로  PowerShell 은 (PowerShell)C:\Users\Chidum.Osobalu 경로에 Docs 폴더를 만들고 아카이브에서 폴더로 파일을 추출합니다. 아래 이 게시물의 시작 부분에 보관된 두 개의 파일이 포함된 출력 폴더를 참조하십시오.

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

문서(Docs) 폴더 가 대상에 이미 있는 경우 PowerShell 은 파일의 압축을 풀려고 할 때 오류를 반환합니다. 그러나 -Force  매개 변수 를 사용하여 PowerShell 에서 새 데이터로 데이터를 덮어 쓰도록 할 수 있습니다.

이전 파일이 더 이상 필요하지 않은 경우에만 -Force(-Force) 매개변수를 사용해야 합니다  . 이렇게 하면 컴퓨터의 파일이 되돌릴 수 없기 때문입니다.

And this wraps up our subject on how to zip and unzip files using the PowerShell utility in Windows 11/10!



About the author

저는 Windows 11 및 10 플랫폼에서 10년 이상의 경험을 가진 소프트웨어 엔지니어입니다. 저는 Windows 7과 Windows 8을 위한 고품질 소프트웨어를 개발하고 유지 관리하는 데 중점을 두었습니다. 또한 Chrome, Firefox, Xbox One 및 파일을 포함하되 이에 국한되지 않는 다양한 다른 프로젝트에서도 작업했습니다.



Related posts