Tin tức và phân tích của tất cả các thiết bị di động

Cách đóng gói (và giải nén) tệp bằng PowerShell

Định dạng tệp ZIP làm giảm kích thước tệp bằng cách nén chúng thành một tệp duy nhất. Quá trình này giúp 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. Dưới đây là cách đóng gói và giải nén tệp bằng PowerShell.

Cách đóng gói 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 cách sử dụng lệnh ghép ngắn Compress-Archive. Nó nhận đườ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 đến đích bạn chỉ định.

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

Compress-Archive -LiteralPath  -DestinationPath 

Khi chỉ định đường dẫn đích, hãy đặt tên cho tệp lưu trữ. Nếu không, PowerShell sẽ lưu nó dưới dạng “.zip” ở vị trí do người dùng chỉ định.

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

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

Compress-Archive -LiteralPath  -DestinationPath 

Nén toàn bộ thư mục và tất cả nội dung của nó.

Trong ví dụ trước, chúng tôi đã đặt đường dẫn đến một thư mục chứa nhiều tệp và thư mục mà không chỉ định từng tệp riêng lẻ. PowerShell lấy mọi thứ từ 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 ký tự đại diện

để mở rộng chức năng hơn nữa. Bằng cách 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 thư mục hoặc chọn tất cả các tệp thuộc một loại nhất định. Để sử dụng ký tự đại diện với Nén-Lưu trữ, hãy sử dụng tham số -Path thay 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 đã thảo luận 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ữ.  Thêm dấu hoa thị

ở cuối đường dẫn tệp, bạn yêu cầu PowerShell chỉ tải xuống nội dung của thư mục gốc. Nó sẽ trông giống như thế này:

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

Nén toàn bộ nội dung của thư mục, không chỉ thư mục gốc.

Tiếp theo, giả sử bạn có một thư mục chứa nhiều loại tệp khác nhau (.doc, .txt, .jpg, v.v.) nhưng bạn chỉ muốn nén 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 trực tiếp vào người khác. Ký hiệu lệnh sẽ trông như thế này:

Chỉ gói các loại tệp được chỉ định từ một thư mục.

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 đưa vào 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 của nó – bạn có thể sử dụng ký tự đại diện star-dot-star (*.*) để đóng gói chúng. Nó sẽ trông giống như thế này:

Chỉ đóng gói các tệp từ thư mục gốc với ký tự đại diện star-dot-star (*.*).

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 đưa vào 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 vẫn có thể cập nhật tệp nén hiện có bằng tham số -Update. Nó cho phép bạn thay thế các phiên bản cũ hơn của các tệp 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ập nhật tệp zip đã tồn tại bằng tham số -Update.

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

Expand-Archive -LiteralPath  -DestinationPath 

và

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

Giải nén kho lưu trữ bằng lệnh ghép ngắn Expand-Archive.

Thư mục đích được chỉ định để giải nén tệp sẽ chứa đầy 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 thư mục mới.

Trong ví dụ trước, nếu chúng ta để -DestinationPath, PowerShell sẽ tạo một thư mục “Archive” trong đường dẫn “C:\Usersbrady” và trích xuất các tệp từ kho lưu trữ vào một thư mục.

Nếu bạn bỏ qua tham số -DestinationPath, PowerShell sẽ giải nén tệp zip vào thư mục hiện được chọn.

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

Chỉ sử dụng tham số -Force khi các tệp cũ không còn cần thiết, vì điều này sẽ ghi đè lên các tệp trên máy tính của bạn một cách không thể phục hồi.