Các định dạng file nén làm giảm kích thước của file bằng cách nén chúng thành một tập tin duy nhất. Quá trình này giúp tiết kiệm không gian đĩa, mã hóa dữ liệu và giúp bạn 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 nén 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 Nén-Lưu trữ. 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 ở đích bạn chỉ định.
Đầu tiên, mở PowerShell bằng cách tìm kiếm nó từ menu Start và sau đó nhập lệnh sau, thay thế <PathToFiles>
và <PathToDestination>
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 đi, tương ứng:
Compress-Archive -LiteralPath <PathToFiles> -DestinationPath <PathToDestination>
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 tên .zip. Nơi mà bạn chỉ định.
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 của nó, bạn có thể sử dụng lệnh sau, thay thế <PathToFolder>
và <PathToDestination>
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 <PathToFolder> -DestinationPath <PathToDestination>
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 Nén-Lưu trữ cho phép bạn sử dụng 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 loại cụ thể. Để sử dụng ký tự đại diện với Nén-Lưu trữ, bạn phải sử dụng -Path
tham số thay vào đó, vì -LiteralPath không chấp nhận chúng.
Ở 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 để bỏ qua nó khỏi kho lưu trữ. Bằng cách thêm dấu hoa thị (*) vào cuối đường dẫn tệp, bạn chỉ nói với PowerShell để lấy những gì bên trong thư mục gốc. Nó sẽ trông giống như thế này:
Compress-Archive -Path C:\path\to\file\* -DestinationPath C:\path\to\archive.zip
Tiếp theo, giả sử bạn có một thư mục với một loạt các 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 người khác một cách rõ ràng. Ký hiệu của lệnh sẽ trông như thế này:
Compress-Archive -Path C:\path\to\file\*.jpg -DestinationPath C:\path\to\archive.zip
Lưu ý: Thư mục con và các tệp của thư mục gốc không được bao gồm trong kho lưu trữ với phương thức 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 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:\path\to\file\*.* -DestinationPath C:\path\to\archive.zip
Lưu ý: Thư mục con và các tệp của thư mục gốc không được bao gồm trong kho lưu trữ với phương thức này.
Ngay cả sau khi lưu trữ hoàn tất, bạn có thể cập nhật tệp nén hiện có với việc sử dụng -Update
tham số. 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:
Compress-Archive -Path C:\path\to\files -Update -DestinationPath C:\path\to\archive.zip
Cách giải nén tệp bằng PowerShell
Ngoài khả năng nén tệp và thư mục, PowerShell còn có khả năng giải nén tài liệu lưu trữ. Quá trình 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 để dữ liệu sẵn sàng giải nén.
Mở PowerShell và nhập lệnh sau, thay thế <PathToZipFile>
và <PathToDestination>
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:
Expand-Archive -LiteralPath <PathToZipFile> -DestinationPath <PathToDestination>
Thư mục đích được chỉ định để trích xuất các tệp vào sẽ điền vào 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ỏ -DestinationPath
tham số, 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 bỏ đi -DestinationPath
, PowerShell sẽ tạo thư mục Cấm Lưu trữ trong đường dẫn “C:\Users\brady” trích xuất các tệp từ kho lưu trữ vào thư mục.
Nếu thư mục đã tồn tại ở đích, PowerShell sẽ trả về lỗi khi nó cố 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 -Force
tham số.
Bạn chỉ nên sử dụng -Force
tham số nếu các tệp cũ không còn cần thiết nữa, vì điều này sẽ thay thế các tệp trên máy tính của bạn.