Trang chủ Kiến Thức Công Nghệ Nén và giải nén file bằng lệnh câu lệnh trong PowerShell
Công Nghệ

Nén và giải nén file bằng lệnh câu lệnh trong PowerShell

Chia sẻ
Nén và giải nén file bằng lệnh câu lệnh trong PowerShell
Chia sẻ

Trên Windows, bạn có thể sử dụng lệnh trong PowerShell để nén và giải nén file từ CMD hoặc từ tập lệnh PowerShell. Từ  phiên bản PowerShell 5.0 (được giới thiệu trong Windows 10), các lệnh sau đã có sẵn để làm việc với các kho lưu trữ ZIP.

  • Compress-Archive
  • Expand-Archive

Nén file, folder với lệnh Compress-Archive

Lệnh Compress-Archive cho phép bạn tạo một file nén từ một hoặc nhiều file hoặc thư mục được chỉ định.

Nếu bạn muốn nén một file vào một file nén ZIP, hãy sử dụng lệnh:

Compress-Archive -DestinationPath C:tempfile.zip -Path 'C:tempfile.txt' -Force

Ghi chú: Thêm dấu ngoặc kép vào đường dẫn file nếu tên file nguồn hoặc đích chứa khoảng trắng.

Các tùy chọn được sử dụng với lệnh Compress-Archive:

  • DestinationPath – đường dẫn lưu file ZIP
  • Path – tên của file hoặc folder bạn muốn nén
  • Force – ghi đè lên file nếu một file Zip cùng tên đã tồn tại
  • CompressionLevel – cho phép bạn đặt mức nén. Các giá trị có thể có: NoCompression, Fastest, and Optimal(được sử dụng theo mặc định)

Nếu bạn chỉ muốn nén nội dung thư mục (bao gồm các thư mục con), chứ không muốn nén chính thư mục đó, hãy chỉ định::

-Path C:temp*

Lưu ý rằng kích thước tối đa của file ZIP có thể được tạo bằng cách sử dụng lệnh Compress-Archive là 2 GB. Đây là một hạn chế của API Microsoft .NET cơ bản (System.IO.Compression.ZipArchive class). Nếu bạn cố gắng tạo tệp lưu trữ ZIP lớn hơn 2GB, lệnh Compress-Archive sẽ trả về lỗi:

MethodInvocationException: Exception calling “Write” with “3” argument(s): “Stream was too long.”

Để nén nhiều thư mục cùng một lúc, hãy chỉ định danh sách các thư mục được phân tách bằng dấu phẩy trong tham số Path:

Compress-Archive -DestinationPath C:arhive.zip -Path C:ps, C:temp

Tùy chọn Update cho phép bạn thêm file vào file ZIP hiện có:

Compress-Archive -DestinationPath C:archive.zip -Path C:temptest.html -Update

Nén tất cả các file có phần mở rộng cụ thể trong một thư mục:

Get-ChildItem -Path C:Temp -Include "*.txt","*.log" -Recurse| Compress-Archive -DestinationPath C:txt_log.zip

Sử dụng lệnh Expand-Archive để giải nén file ZIP

Bạn có thể sử dụng lệnh Expand-Archive để giải nén một file Zip có sẵn:

Expand-Archive -Path C:temparchive.zip -DestinationPath C:temp

Thêm tham số -Force nếu bạn muốn ghi đè lên các file trong thư mục đích.

Bài viết cùng chuyên mục
Tối ưu ứng dụng với cấu trúc dữ liệu cơ bản và bitwise
Công Nghệ

Tối ưu ứng dụng với cấu trúc dữ liệu cơ bản và bitwise

Trong bài viết này, 200Lab sẽ chia sẻ những trường hợp dễ...

Công Nghệ

So sánh Flutter vs React Native: Framework nào đáng học năm 2021

Điểm chung của Flutter, React Native đều là Cross-platform Mobile, build native...

HTTP/2 là gì? So sánh HTTP/2 và HTTP/1
Công Nghệ

HTTP/2 là gì? So sánh HTTP/2 và HTTP/1

Từ khi Internet ra đời, sự phát triển về các giao thức...

Upload File từ Frontend đến Backend mà rất nhiều bạn vẫn đang làm sai!!
Công Nghệ

Upload File từ Frontend đến Backend mà rất nhiều bạn vẫn đang làm sai!!

1. Client encode file (base64) rồi gởi về backend 200Lab đã từng...

Công Nghệ

React Native – Hướng dẫn làm việc với Polyline và Animated-Polyline trên Map

Vẽ đường đi trên bản đồ là một nghiệp vụ vô cùng...

Công Nghệ

Hybrid App và Native App: Những khác biệt to lớn

Bất cứ khi nào một công ty quyết định làm ứng dụng...

Web/System Architecture 101 – Kiến trúc web/hệ thống cơ bản cho người mới
Công Nghệ

Web/System Architecture 101 – Kiến trúc web/hệ thống cơ bản cho người mới

Đây là một kiến trúc cơ bản mà bất kì một người...

Công Nghệ

Tư duy kiến trúc thông qua các trò chơi mà rất nhiều bạn không biết

Tư duy kiến trúc là gì? Tư duy kiến trúc có thể...