기본적으로 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
이제 다양한 파일 형식(.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 폴더를 만들고 아카이브에서 폴더로 파일을 추출합니다. 아래 이 게시물의 시작 부분에 보관된 두 개의 파일이 포함된 출력 폴더를 참조하십시오.
문서(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!
How to Zip and Unzip files using PowerShell in Windows 11/10
Essentially, the ZIP file format reduces the size of files by compressing them into a single file. This proсess saves disk space, encrypts data, and makеs it easy to share files with others. In this post, we will show you how to zip and unzip files using the PowerShell utility in Windows 11/10.
How to zip files using PowerShell
You begin by compressing some files into a ZIP file archive using the Compress-Archive cmdlet. It takes the path to any files you want to compress—multiple files are separated with a comma—and archives them in the destination you specify.
Do the following:
Press Windows key + X to open Power User Menu and then press I on the keyboard to launch PowerShell.
Next, type in the syntax below, replacing <PathToFiles> and <PathToDestination> placeholder with the path to the files you want to compress and the name and folder you want it to go, respectively.
Compress-Archive -LiteralPath <PathToFiles> -DestinationPath <PathToDestination>
Note: When you provide the destination path, be sure to give the archive file a name or PowerShell will save it as “.zip” where you specify. Also, bear in mind that quotations around the path are only necessary when the file path contains a space.
Alternatively, to zip the entire contents of a folder and all of its subfolders, you can use the same syntax as above, replacing <PathToFiles> and <PathToDestination> placeholder with the path to the files you want to compress and the name and folder you want it to go, respectively.
It should look like as shown in the image below.
This command puts the path to a directory with multiple files and folders in it without specifying individual files. PowerShell takes everything inside of the root directory and compresses it, subfolders, and all.
Read: How to open .TAR.GZ, .TGZ or .GZ. Files.
The wildcard character (*) function
The Compress-Archive cmdlet lets you use a wildcard character (*) to expand the functionality even further. When you use the character, you can exclude the root directory, compress only files in a directory, or choose all files of a specific type. To use a wildcard with Compress-Archive, you must use the -Path parameter instead, as -LiteralPath does not accept them.
Now, from both examples given above, you have seen how to include the root directory and all of its files and subdirectories when creating an archive file. However, if you want to exclude the root folder from the Zip file, you can use a wildcard to omit it from the archive. By adding an asterisk (*) to the end of the file path, PowerShell will only grab what’s inside of the root directory. The correct syntax is presented below.
Compress-Archive -Path C:\path\to\file\* -DestinationPath C:\path\to\archive.zip
Now, in the case whereby you have a folder with a bunch of different file types (.docx, .txt, .jpg, etc.) but only want to compress all of one type, you can use the syntax below. PowerShell will archive the files specified without touching the others explicitly. Bear in mind that subdirectories and the files of the root folder aren’t included in the archive with this method.
Compress-Archive -Path C:\path\to\file\*.docx -DestinationPath C:\path\to\archive.zip
Lastly, if you want an archive that only compresses files in the root directory and all its subdirectories, you will use the star-dot-star (*.*) wildcard to zip the files with the syntax below. With this method too, subdirectories and the files of the root folder aren’t included in the archive.
Compress-Archive -Path C:\path\to\file\*.* -DestinationPath C:\path\to\archive.zip
Now, it’s imperative to point out that even after the archive is complete, you can update an existing zipped file with the use of the -Update parameter with the correct syntax provided below. This lets you replace older file versions in the archive with newer ones that have the same names, and add files that have been created in the root directory.
Compress-Archive -Path C:\path\to\files -Update -DestinationPath C:\path\to\archive.zip
And this concludes the process of the various scenarios that you can zip files using PowerShell in Windows 10. Continue below to see how you can unzip files using PowerShell.
Read: How to install CURL on Windows 11/10.
How to Unzip files using PowerShell
As you have already seen, PowerShell can be used to zip files. The utility also can unzip archives. The process is even easier than compressing them – all you need is the source file and a destination for the data ready to unzip.
Let’s get to it.
To unzip files using PowerShell, do the following:
Open PowerShell.
Next, type in the syntax below, replacing <PathToZipFile> and <PathToDestination> placeholder with the path to the files you want to compress and the name and folder you want it to go, respectively.
Expand-Archive -LiteralPath <PathToZipFile> -DestinationPath <PathToDestination>
The destination folder specified to extract the files into will populate with the contents of the archive. If the folder didn’t exist before unzipping, PowerShell will create the folder and place the contents into it before unzipping.
By default, if you leave out the -DestinationPath parameter, PowerShell will unzip the contents into the current root directory and use the name of the Zip file to create a new folder.
In this example, the folder Docs is specified in the command, so PowerShell will create the folder Docs in the path C:\Users\Chidum.Osobalu and extract the files from the archive into the folder. See the output folder containing the two files archived at the beginning of this post below.
Note that, if the folder Docs already exists in the destination, PowerShell will return an error when it tries to unzip the files. However, you can force PowerShell to overwrite the data with the new ones using the -Force parameter.
You should only use the -Force parameter if the old files are no longer needed, as this will irreversibly replace the files on your computer.
And this wraps up our subject on how to zip and unzip files using the PowerShell utility in Windows 11/10!