CÁC CHƯƠNG TRĚNH NÉN FILE

            Khi cần lưu trữ hay di chuyển file, người ta hay nén file lại vì ngoài việc giảm dung lượng file (tức là tăng dung lượng chứa) nó còn làm giảm thời gian xử lý file (copy, move, truyền qua mạng...). Nghĩa là lợi được cả 2 mặt, không như nén đĩa bạn chỉ lợi về dung lượng nhưng lại thiệt hại về thời gian xử lý. Nhược điểm duy nhất của nén file so với nén đĩa là bạn không thể sử dụng được file đã nén như bình thường, nhưng trong khi lưu hay di chuyển thì nhược điểm nầy có thể bỏ qua.

            Có rất nhiều chương trình nén file được phổ biến trên thị trường. Trong đó chúng ta có thể phân làm 2 loại:

            - Các chương trình nén chuyên nghiệp: Các chương trình nầy có tỉ lệ nén rất cao nhưng tốc độ xử lý file lại tuỳ theo tỉ lệ nén (nén càng nhỏ thời gian càng chậm). Chúng được phổ biến rộng rãi nhất trên các hệ thống mạng ở nước ngoài và cũng được đón tiếp nồng nhiệt tại TP. Tiêu biểu cho loại nầy là: Pkzip, Lha, Arj...

            - Các chương trình nén của các hãng phát hành phần mềm: Các chương trình nầy có tỉ lệ nén khiêm nhường hơn nhưng tốc độ lại rất nhanh. Chúng chủ yếu dùng để nén file chứa trên bộ đĩa cài đặt gốc nhằm giảm số lượng đĩa mềm khi phân phối. Có chương trình do chính hãng phát hành viết, thí dụ như Microsoft dùng trình Compress (nén) và Expand hay Decomp (giải nén) cho tất cả các phần mềm của mình (tính cho đến nay). Có chương trình do các hãng phát hành sửa đổi lại từ chương trình nén chuyên nghiệp (dĩ nhiên là đã trả tiền và được phép của tác giả). Các chương trình nầy có nhiều hạn chế khi sử dụng riêng lẻ (thậm chí không thể tách riêng ra được).

            Trong phần nầy chúng tôi chỉ bàn về các chưng trình nén file chuyên nghiệp thông dụng và hướng dẫn cách kết hợp chúng vào NC 5.0 để dễ thao tác.

            A/  PKZIP:

            Ðây là chương trình được đánh giá mạnh nhất trong các chương trình nén file. Ðể sử dụng đầy đủ các chức năng chính, các bạn cần có 4 file:

            Pkzip.exe : Dùng để nén file.
            Pkunzip.exe : Dùng để gii nén File.
            Zip2exe.exe : Dùng để tạo file nén tự bung (gii nén).

            1.  Pkzip:

            Là chương trình dùng để nén file. Dòng lịnh tổng quát:

            pkzip [địa chỉ và tên file nén] [thông số] [địa chỉ và tên file muốn xử lý]

            Thí dụ: pkzip test.zip -d license.doc

            Các thông số thường dùng nhất khi sử dụng là:

            a) [- b<drive:path>] : Chỉ định địa chỉ chứa file tạm

            Khi cộng thêm file vào file nén đã có, chương trình đầu tiên sẽ tạo một file tạm cùng địa chỉ với file gốc, sau đó mới sửa chữa chính thức file gốc và xoá file tạm. Như vậy đòi hỏi không gian tại địa chỉ nầy phải còn trống một dung lượng bằng file nén + file cần cộng thêm. Ðiều nầy làm hạn chế việc cộng thêm file trên đĩa mềm hay khi địa chỉ gốc còn trống ít hơn yêu cầu. Thông số nầy dùng chỉ định một ổ dĩa khác để chứa file tạm trong khi xử lý nhằm khắc phục hạn chế đã nói.

            Dòng lịnh thí dụ:

            A:>pkzip test.zip -bc: order.doc

            C:>pkzip wp.zip -bz:\public wp51\*.*

            b) [-d] : Xoá file con chứa trong file nén đã có

            pkzip test.zip -d license.doc

            Bạn có thể xóa nhiều file cùng lúc bằng dòng lịnh như sau:

            pkzip july.zip -d file1.wk file2.wk1 ... filen.xxx

            c) [-e[x|n|f|s]] :Chỉ định tỉ lệ nén

            -ex         nén tối đa (tỉ lệ nén cao nhất, thời gian nén chậm nhất).
            -en         Nén bình thường (dung hoà giữa tỉ lệ nén và thời gian nén)
            -ef         Nén nhanh (ưu tiên cho thời gian nén nhanh)
            -es         Nén cực nhanh (tỉ lệ nén thấp nhất, thời gian nén nhanh nhất)
            -e0         Không nén (chỉ chứa vào file nén)

            Thí dụ: pkzip -ex test.zip d:\wp51\*.wp

            d) [-j<h,r,s>] hay [-J<h,r,s>] : Gở bỏ hay không các thuộc tính file khi nén.

            Mặc nhiên khi nén file, pkzip giử nguyên các thuộc tính file gốc (Jhrs). Nếu bạn muốn gỡ bỏ các thuộc tính khi nén, bạn chọn thông số jhrs (h: ẩn, r: chỉ đọc, s: hệ thống).

            Thí dụ: pkzip markie.zip -Jhs c:\util\*.*

            e) [-m]: Di chuyển file vào file nén

            Bình thường pkzip giử nguyên bản gốc khi bạn nén file, khi có thông số nầy pkzip sẽ xoá file gốc sau khi nén xong.
 
            f) [-rp] : Lưu đầy đủ cấu trúc cây thư mục khi nén file

            Mặc nhiên pkzip không lưu thư mục con khi nén file. Thí dụ: Bạn cho nén một thư mục có các thư mục con, pkzip sẽ nén toàn bộ file kể c các file trong thư mục con vào cùng 1 địa chỉ chứ không phân biệt file nào thuộc về thư mục con nào. Khi có thông số nầy pkzip sẽ lưu đầy đủ cấu trúc cây thư mục khi nén file để khi giải nén sẽ phục hồi lại được như nguyên gốc.

            Thí dụ: pkzip mail2.zip -rp c:\mymail\*.*

            g) [-s[password]] : Chỉ định mật khẩu khi nén file

            Khi bạn dùng thông số nầy, bạn phải đánh mật khẩu chỉ định liền sau chữ s (không có dấu cách). Mật khẩu nầy được dùng mỗi khi muốn giải nén file, nó có giá trị kể cả khi bạn giải nén bằng các chương trình tương thích như Nczip. Nếu bạn quên mật khẩu bạn sẽ không thể giải nén file được nữa.

            h) [-w<h,s>] hay [-W<h,s>] : Bỏ qua hay bao gồm file ẩn, Hệ thống khi nén

            Mặc nhiên pkzip sẽ loại trừ các file ẩn, hệ thống (-Whs) khi nén. Nếu bạn muốn nén luôn các file nầy, bạn chọn -whs.

            Thí dụ: pkzip all.zip -whs a:\*.*

            i) [-x<filename>] : Chỉ định các file cần loại trừ khi nén

            Bạn có thể chỉ định một file hay nhiều file cùng lúc. Thí dụ:

            pkzip test3.zip *.* -xcommand.com -xautoexec.* -xconfig.*

            Lưu ý: Giữa thông số -x và tên file không được có dấu cách và trước mỗi tên file đều phải có -x.

            j) [-&<f,u,v,s>] : Tạo file nén có dung lượng lớn chứa trên nhiều đĩa mềm

            Thông số nầy dùng khi bạn cần backup c ổ dĩa, nhánh thư mục, thư mục hay file có kích thước lớn hơn dung lượng đĩa mềm.

        Các thông số kèm theo:

            f: Cho format nhanh đĩa đích.
            u: Cho format triệt để đĩa đích.
            v: Cho kiểm tra dữ liệu sau khi chép lên đĩa (verify on).
            s: Nén toàn bộ ổ dĩa hiện hành kể c thư mục con.

            Thí dụ:

            pkzip a:zipfile -&u -rp  Nén tất cả các file trong thư mục hiện hành, kể cả thư mục con lên ổ A: và format nhanh mỗi đĩa.

            C:\>pkzip b:zipfile -&s d:\sd\*.*  Nén tất c file trên ổ C: (ổ dĩa hiện hành) và tất c các file trong thư mục sd trên ổ dĩa D: lên ổ dĩa B:.

            Chú ý: Khi bạn nén file lên nhiều đĩa mềm với các thông số -&, -rp...Pkzip sẽ lưu thông tin về đĩa trên đĩa mềm backup cuối cùng. Do đó khi bung bạn phải đưa đĩa mềm cuối cùng vào trước để pkunzip ghi nhận các thông tin nầy, sau đó mới bắt đầu bung theo thứ tự đĩa.

            2.  Pkunzip:

            Là chương trình dùng để giải nén file. Dòng lịnh tổng quát:

            pkunzip [thông số] [địa chỉ và tên file nén] [địa chỉ đích]

            a) [-d] : Phục hồi cấu trúc cây thư mục đã được lưu khi nén với thông số -rp.

            Thí dụ: pkunzip -d a:stuff c:

            b) [-j<h,r,s>] hay [-J<h,r,s>] : Cho loại trừ hay không các file con có thuộc tính h,r,s khi giải nén

            Mặc nhiên pkunzip cho loại trừ những file con có các thuộc tính h, r, s khi tiến hành giải nén cho dù chúng có mặt trong file nén (-jhrs). Nếu bạn muốn giải nén luôn cả các file nầy, bạn phải ghi thông số -Jhrs.

            Thí dụ: pkunzip stuff.zip -Jhsr

            c) [-p[a/b[#]] [c[#]]] : Giải nén đồng thời gởi ra máy in

            Các thông số:

            a: In với dạng thức Acsii (khi in file text).
            b: In với dạng thức Binary (khi in file hình ảnh).
            #: Khai báo số thứ tự cổng in (mặc nhiên là 1).
            c: khi báo cổng in là cổng COM (mặc nhiên là cổng LPT).

            Thí dụ:

            pkunzip sesame.zip *.doc -p Giải nén các file .doc và in bằng cổng LPT1.
            pkunzip graphix.zip *.eps -pbc2  Giải nén các file .eps và in theo kiểu Binary bằng cổng COM2.
            pkunzip docs.zip -pa2  Giài nén và in theo kiểu Acsii bằng cổng LPT2.

            d) [-s[password]]: Khai báo mật khẩu cho các file nén có chỉ định mật khẩu

            Ðối với các file khi nén có chỉ định mật khẩu thì khi giải nén bắt buộc phải có thông số nầy.

            Thí dụ: pkunzip payroll.zip -sSecret *.dbf

            3.  Zip2exe:

            Chương trình nầy dùng tạo file nén tự bung (giải nén). Ðầu tiên bạn phi dùng pkzip tạo 1 file nén (có đuôi là zip), sau dó dùng zip2exe chuyển file nén đã tạo thành file nén tự bung (có đuôi là exe). Dòng lịnh tổng quát:

            D:\>zip2exe test.zip  Tạo file nén tự bung tên test.exe từ file nén tên test.zip.

            Chú ý: Mỗi khi cần bung file nén tự bung, bạn chỉ cần cho chạy file nầy.

            B/  ARJ:

            Chương trình nầy dùng để nén và giải nén file. Ưu điểm là chỉ cần một file duy nhất cho nhiều chức năng nhưng tỉ lệ nén không cao bằng Pkzip.

            Dòng lịnh tổng quát:

            ARJ <command> [-<sw> [-<sw>...]] <archive_name> [<file_names>...]

            <Commands>

            a: Cộng file vào file nén
            d: Xoá file trong file nén
            e: Bung file con trong file nén
            m: Di chuyển file vào file nén
            n: Ðổi tên file trong file nén
            p: In file bằng cổng chuẩn
            u: Cập nhật file trong file nén
            y: Copy file nén với lựa chọn mới
            x: Bung file và tạo lại cấu trúc cây thư mục

            Chú ý: Mặc nhiên: Arj lưu đường dẫn khi nén nhưng không lưu tên ổ dĩa và thư mục gốc. Khi in sẽ dùng kiểu Binary. Nén theo kiểu 1 (tỉ lệ nén tối đa).

            <switch>

            r: Phục hồi cấu trúc cây thư mục
            u: Cập nhật file nén
            v: Tạo file nén trên nhiều đĩa
            a: và tự động xác định dung lượng đĩa mềm
            m: Tỉ lệ nén 1, 2, 3, 4 (1: nhiều nhất, 4: ít nhất)
            je: Tạo file nén tự bung

            Thí dụ:

            Cộng file và lưu địa chỉ :                      ARJ a -e archive *.*
            Cộng 2 file vào file nén :                      ARJ a archive name1 name2
            Cộng file với độ nén tối đa :                 ARJ a -m1 archive *.*
            Bung file từ file nén :                            ARJ e archive
            Bung file và phục hồi cây thư mục :     ARJ x archive
            Di chuyển file vào file nén :                 ARJ m archive *.doc
            Di chuyển file trong file nén ra ngoài : ARJ e -d archive *.doc
            Tạo file nén trên nhiều đĩa mềm :         ARJ a -va a:archive *.*
            Bung file nén trên nhiều đĩa mềm :       ARJ x -va a:archive
            Tạo file nén tự bung từ file nén đã có :  ARJ y -je archive

            C/  LHA:

            Chương trình nầy tương tự như Arj.

            Dòng lịnh tổng quát:

            LHA <lịnh> <địa chỉ và tên file nén[.LZH]> [địa chỉ và tên file thường].

             <lịnh>

            a: Cộng files vào file nén
            d: Xoá file trong file nén
            e: Giải nén file
            m: Di chuyển file
            u: Cập nhật file nén
            x: Giải nén file và phục hồi cấu trúc cây thư mục
            s: Tạo files nén tự bung

            <địa chỉ và tên fie nén>

            Tên file nén có thể là nguồn nếu dùng thông số e, d hay m. Có thể là đích nếu dùng thông số a, u hay m.

         <địa chỉ và tên file thường>

            Tên file thường có thể là đích (tên file dã giải nén) nếu dùng thông số e, d hay m. Có thể là nguồn (file sẽ nén) nếu dùng thông số a, u hay m.

            Thí dụ: LHA a word.lzh c:\temp\word.txt

            Chú ý: Tên file nén không cần khai báo đuôi, Lha sẽ lấy mặc nhiên là .lzh. Muốn tạo file nén tự bung bắt buộc bạn phải tạo file nén trước.
 
            Nhận xét:

            3 chương trình nầy thực ra còn nhiều thông số chúng tôi không nêu ra vì không muốn làm các bạn rối trí. Chúng tôi chỉ chọn lọc những thông số thường dùng và cần thiết khi sử dụng.

            Trong 3 chương trình nén file trên:

            Pkzip có tỉ lệ nén cao nhất và được sử dụng nhiều nhất tuy hơi lỉnh kỉnh (nhiều file), vì nó có thể làm được nhiều việc hơn 2 chương trình kia. Bộ chương trình nầy thích hợp cho những người có kinh nghiệm.

            Lha, Arj sử dụng đơn giản hơn, ít thông số, gọn, dòng lịnh ngắn nên thích hợp cho những người cần nhanh, ít kinh nghiệm.

D/  Kết hợp các chương trình nén file vào NC 5.0:

            Có một cách sử dụng nhanh gọn các chương trình nén bất kỳ được NC5 hổ trợ là kết hợp chúng vào dòng lịnh liên kết trong NC5. Sau khi kết hợp bạn sử dụng chúng như 1 thành phần của NC5 hoàn toàn giống như khi sử dụng nczip.

            Cách kết hợp như sau:

            Bước 1:

            Chép tất cả các chương trình  nén cần kết hợp vào thư mục NC5.

            Bước 2:

            Mở file Packer.set bổ sung các chỉ định cho các chương trình kết hợp.

            Bước 3:

            Khi muốn dùng chương trình nén nào, bạn chỉ cần bấm Alt+F5 hay Alt+F6 rồi chọn mục Select method, trong cửa sổ liệt kê bạn chọn tên chương trình rồi quay trở ra màn hình chính thao tác như khi sử dụng nczip.
 
            Cách bổ sung cho file Packer.set:

            ý nghĩa từng dòng chỉ định:

00:     Tên mở rộng chỉ định cho file nén
01:     Lịnh cộng file vào file nén
02:     Lịnh cộng file và lưu cấu trú cây thư mục vào file nén
03:     Lịnh giải nén file trong file nén
04:     Lịnh giải nén và phục hồi cấu trúc cây thư mục
05:     Lịnh di chuyển file vào file nén (xoá file gốc)
06:     Lịnh di chuyển file và lưu cấu trúc cây thư mục
07:     Lịnh xoá file chứa trong file nén
08:     Lịnh chọn tỉ lệ nén tốt nhất (dung hoà giửa tỉ lệ nén và thời gian nén)
09:     Lịnh chọn tỉ lệ nén cao nhất
10:     Lịnh chọn thời gian nén nhanh nhất
11:
12:
13:
14:   Nếu chỉ định là 1, nội dung của file nén có thể view bằng phím F3.

            Thí dụ:

 :LHICE 1.a+
00:ICE
01:lhice u -am
02:lhice a -apm
03:lhice e -wm
04:lhice e -wm
05:lhice m -am
06:lhice m -am
07:lhice d -mm
08:
09:
10:
11:00
12:
13:11,4;1,0;6,0
14:1
:ZOO 2.1
00:ZOO
01:zoo -add
02:zoo -add
03:zoo -extract
04:zoo -extract
05:zoo -move
06:zoo -move
07:zoo -delete
08:
09:
10:
11:00
12:@
13:1;6