Cách Zip (và Giải nén) Tệp bằng PowerShell

Spread the love

Định dạng tệp ZIP làm giảm kích thước của tệp bằng cách nén chúng thành một tệp duy nhất. Quá trình này tiết kiệm dung lượng ổ đĩa, mã hóa dữ liệu và giúp dễ dàng chia sẻ tệp với người khác. Đây là cách nén và giải nén tệp bằng PowerShell.

Cách Zip tệp bằng PowerShell

Hãy bắt đầu bằng cách nén một số tệp vào kho lưu trữ tệp ZIP bằng lệnh ghép ngắn Compress-Archive. Nó đưa đường dẫn đến bất kỳ tệp nào bạn muốn nén — nhiều tệp được phân tách bằng dấu phẩy — và lưu trữ chúng ở đích mà bạn chỉ định.

Trước tiên, hãy mở PowerShell bằng cách tìm kiếm nó từ menu Bắt đầu rồi nhập lệnh sau, thay thế với đường dẫn đến tệp bạn muốn nén và tên và thư mục bạn muốn tệp đó đi, tương ứng:

Compress-Archive -LiteralPath  -DestinationPath 

Khi bạn cung cấp đường dẫn đích, hãy đảm bảo đặt tên cho tệp lưu trữ hoặc PowerShell sẽ lưu nó dưới dạng “.zip” ở nơi bạn chỉ định.

Lưu ý: Các dấu ngoặc kép xung quanh đường dẫn chỉ cần thiết khi đường dẫn tệp chứa khoảng trắng.

Ngoài ra, để nén toàn bộ nội dung của một thư mục — và tất cả các thư mục con — bạn có thể sử dụng lệnh sau, thay thế với đường dẫn đến tệp bạn muốn nén và tên và thư mục bạn muốn tệp đó đi đến, tương ứng:

Compress-Archive -LiteralPath  -DestinationPath 

Trong ví dụ trước, chúng tôi đặt đường dẫn đến một thư mục có nhiều tệp và thư mục trong đó mà không chỉ định các tệp riêng lẻ. PowerShell lấy mọi thứ bên trong thư mục gốc và nén nó, các thư mục con và tất cả.

Lệnh ghép ngắn Compress-Archive cho phép bạn sử dụng một ký tự đại diện

để mở rộng chức năng hơn nữa. Khi bạn sử dụng ký tự, bạn có thể loại trừ thư mục gốc, chỉ nén các tệp trong một thư mục hoặc chọn tất cả các tệp thuộc một loại cụ thể. Để sử dụng ký tự đại diện với Compress-Archive, bạn phải sử dụng tham số -Path để thay thế, vì -LiteralPath không chấp nhận chúng.

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

Ở trên, chúng tôi đã trình bày cách bao gồm thư mục gốc và tất cả các tệp và thư mục con của nó khi tạo tệp lưu trữ. Tuy nhiên, nếu bạn muốn loại trừ thư mục gốc khỏi tệp Zip, bạn có thể sử dụng ký tự đại diện để loại bỏ nó khỏi kho lưu trữ. Bằng cách thêm dấu hoa thị

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

ở cuối đường dẫn tệp, bạn chỉ cho PowerShell biết để lấy những gì bên trong thư mục gốc. Nó sẽ trông giống như thế này:

Tiếp theo, giả sử bạn có một thư mục với nhiều loại tệp khác nhau (.doc, .txt, .jpg, v.v.) nhưng chỉ muốn nén tất cả một loại. Bạn có thể yêu cầu PowerShell lưu trữ chúng mà không cần chạm vào các tệp khác một cách rõ ràng. Ký hiệu của lệnh sẽ giống như sau:

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

Lưu ý: Các thư mục con và tệp của thư mục gốc không được bao gồm trong kho lưu trữ bằng phương pháp này.

Cuối cùng, nếu bạn muốn một kho lưu trữ chỉ nén các tệp trong thư mục gốc — và tất cả các thư mục con — bạn sẽ sử dụng ký tự đại diện star-dot-star (*. *) Để nén chúng. Nó sẽ trông giống như thế này:

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

Lưu ý: Các thư mục con và tệp của thư mục gốc không được bao gồm trong kho lưu trữ bằng phương pháp này.

Ngay cả sau khi quá trình lưu trữ hoàn tất, bạn có thể cập nhật tệp nén hiện có bằng cách sử dụng tham số -Update. Nó cho phép bạn thay thế các phiên bản tệp cũ hơn trong kho lưu trữ bằng các phiên bản mới hơn có cùng tên và thêm các tệp đã được tạo trong thư mục gốc. Nó sẽ trông giống như thế này:

Cách giải nén tệp bằng PowerShell Ngoài khả năng nén các tệp và thư mục, PowerShell có khả năng giải nén các tệp lưu trữ. Quá trình này thậm chí còn dễ dàng hơn việc nén chúng; tất cả những gì bạn cần là tệp nguồn và đích cho dữ liệu đã sẵn sàng để giải nén. Mở PowerShell và nhập lệnh sau, thay thế

Expand-Archive -LiteralPath  -DestinationPath 

với đường dẫn đến tệp bạn muốn nén và tên và thư mục bạn muốn tệp đó đi đến, tương ứng:

Thư mục đích được chỉ định để giải nén các tệp vào sẽ chứa nội dung của kho lưu trữ. Nếu thư mục không tồn tại trước khi giải nén, PowerShell sẽ tạo thư mục và đặt nội dung vào đó trước khi giải nén.

Theo mặc định, nếu bạn bỏ qua tham số -DestinationPath, PowerShell sẽ giải nén nội dung vào thư mục gốc hiện tại và sử dụng tên của tệp Zip để tạo một thư mục mới.

Trong ví dụ trước, nếu chúng ta loại bỏ -DestinationPath, PowerShell sẽ tạo thư mục “Archive” trong đường dẫn “C: Usersbrady” và giải nén các tệp từ kho lưu trữ vào thư mục.

Nếu thư mục đã tồn tại trong đích, PowerShell sẽ trả về lỗi khi cố gắng giải nén các tệp. Tuy nhiên, bạn có thể buộc PowerShell ghi đè dữ liệu bằng dữ liệu mới bằng cách sử dụng tham số -Force.

Bạn chỉ nên sử dụng tham số -Force nếu các tệp cũ không còn cần thiết nữa, vì điều này sẽ không thể thay thế các tệp trên máy tính của bạn.

  Cách sửa lỗi Trang web này không khả dụng
x