Як заархівувати (та розпакувати) файли за допомогою PowerShell

Формат файлу ZIP зменшує розмір файлів, стискаючи їх в один файл. Цей процес економить місце на диску, шифрує дані та полегшує обмін файлами з іншими. Ось як заархівувати та розпакувати файли за допомогою PowerShell.

Як заархівувати файли за допомогою PowerShell

Давайте почнемо зі стиснення деяких файлів у файл-архів ZIP за допомогою командлета Compress-Archive. Він бере шлях до будь-яких файлів, які потрібно стиснути — кілька файлів розділяються комами — і архівує їх у визначеному вами місці призначення.

Спочатку відкрийте PowerShell, знайшовши його в меню «Пуск», а потім ввівши таку команду, замінивши і із шляхом до файлів, які потрібно стиснути, і відповідно до імені та папки, куди потрібно перейти:

Compress-Archive -LiteralPath  -DestinationPath 

Коли ви вказуєте шлях призначення, не забудьте дати файлу архіву ім’я, інакше PowerShell збереже його як «.zip», де ви вкажете.

Примітка: лапки навколо шляху необхідні лише тоді, коли шлях до файлу містить пробіл.

Крім того, щоб заархівувати весь вміст папки — і всі її підпапки — ви можете використовувати наступну команду, замінивши і із шляхом до файлів, які потрібно стиснути, і відповідно до імені та папки, до якої потрібно перейти:

Compress-Archive -LiteralPath  -DestinationPath 

У попередньому прикладі ми вказали шлях до каталогу з кількома файлами та папками, не вказуючи окремі файли. PowerShell бере все всередині кореневого каталогу і стискає його, підпапки і все.

  Показуйте та приховуйте паролі у своєму браузері за допомогою букмарклета ISeePass

Командлет Compress-Archive дозволяє використовувати символ підстановки

щоб ще більше розширити функціональність. Коли ви використовуєте символ, ви можете виключити кореневий каталог, стиснути лише файли в каталозі або вибрати всі файли певного типу. Щоб використовувати підстановковий знак із Compress-Archive, замість цього потрібно використовувати параметр -Path, оскільки -LiteralPath їх не приймає.

Compress-Archive -Path C:pathtofile* -DestinationPath C:pathtoarchive.zip

Вище ми розповіли, як включити кореневий каталог і всі його файли та підкаталоги під час створення архівного файлу. Однак, якщо ви хочете виключити кореневу папку з файлу Zip, ви можете використовувати символ підстановки, щоб виключити її з архіву. Додавши зірочку

Compress-Archive -Path C:pathtofile*.jpg -DestinationPath C:pathtoarchive.zip

до кінця шляху до файлу ви вказуєте PowerShell лише захопити те, що знаходиться всередині кореневого каталогу. Це має виглядати приблизно так:

Далі припустимо, що у вас є папка з купою файлів різних типів (.doc, .txt, .jpg тощо), але ви хочете стиснути лише файли одного типу. Ви можете вказати PowerShell архівувати їх, не торкаючись інших явно. Позначення команди буде виглядати так:

Compress-Archive -Path C:pathtofile*.* -DestinationPath C:pathtoarchive.zip

Примітка: підкаталоги та файли кореневої папки не включаються в архів за допомогою цього методу.

  Як знайти та створити резервну копію скріншотів Steam

Нарешті, якщо вам потрібен архів, який стискає файли лише в кореневому каталозі — і в усіх його підкаталогах — ви повинні використовувати символ зірка-крапка-зірочка (*.*), щоб заархівувати їх. Це виглядало б приблизно так:

Compress-Archive -Path C:pathtofiles -Update -DestinationPath C:pathtoarchive.zip

Примітка: підкаталоги та файли кореневої папки не включаються в архів за допомогою цього методу.

Навіть після завершення архівування ви можете оновити існуючий архівований файл за допомогою параметра -Update. Він дозволяє замінювати старі версії файлів в архіві на нові з такими ж іменами, а також додавати файли, які були створені в кореневому каталозі. Це буде виглядати приблизно так:

Як розпакувати файли за допомогою PowerShell Окрім можливості заархівувати файли та папки, PowerShell має можливість розпаковувати архіви. Процес навіть простіше, ніж стискати їх; все, що вам потрібно, це вихідний файл і місце призначення для даних, готових до розархівування. Відкрийте PowerShell і введіть таку команду, замінивши

Expand-Archive -LiteralPath  -DestinationPath 

і

  Збільште частоту кадрів у вашому медіаплеєрі за замовчуванням для відтворення HD

із шляхом до файлів, які потрібно стиснути, і відповідно до імені та папки, до якої потрібно перейти:

Цільова папка, вказана для вилучення файлів, заповниться вмістом архіву. Якщо папка не існувала до розархівування, PowerShell створить папку та помістить у неї вміст перед розпаковуванням.

За замовчуванням, якщо ви не вкажете параметр -DestinationPath, PowerShell розпакує вміст у поточний кореневий каталог і використає ім’я Zip-файлу для створення нової папки.

У попередньому прикладі, якщо ми пропустимо -DestinationPath , PowerShell створить папку «Архів» у шляху «C:Usersbrady» і витягне файли з архіву в папку.

Якщо папка вже існує в місці призначення, PowerShell поверне повідомлення про помилку, коли спробує розпакувати файли. Однак ви можете змусити PowerShell перезаписати дані новими за допомогою параметра -Force.

Ви повинні використовувати параметр -Force, лише якщо старі файли більше не потрібні, оскільки це безповоротно замінить файли на вашому комп’ютері.