Lệnh diskcomp trong Windows

Lệnh diskcomp so sánh nội dung của hai đĩa mềm. Nếu được sử dụng không có tham số, lệnh diskcomp sẽ sử dụng ổ đĩa hiện tại để so sánh cả hai đĩa. Để biết cách sử dụng lệnh này, vui lòng xem phần Ví dụ bên dưới.

Lệnh diskcomp trong Windows

Cú pháp lệnh diskcomp

diskcomp [<Drive1>: [<Drive2>:]]

Tham số

Tham số Mô tả
<Drive1> Chỉ định ổ đĩa chứa một trong các đĩa mềm.
<Drive2> Chỉ định ổ đĩa chứa đĩa mềm khác.
/? Hiển thị trợ giúp tại dấu nhắc lệnh.

Lưu ý

  • Sử dụng các đĩa

Lệnh diskcomp chỉ hoạt động với các đĩa mềm. Bạn không thể sử dụng lệnh diskcomp với một đĩa cứng. Nếu bạn chỉ định ổ đĩa cứng cho Drive1 hoặc Drive2, lệnh diskcomp sẽ hiển thị thông báo lỗi sau:

Invalid drive specification
 Specified drive does not exist
 or is nonremovable
  • So sánh các đĩa

Nếu tất cả các nội dung trên hai đĩa được so sánh đều giống nhau, lệnh diskcomp sẽ hiển thị thông báo sau:

Compare OK

Nếu các nội dung không giống nhau, lệnh diskcomp sẽ hiển thị một thông báo tương tự như sau:

Compare error on
 side 1, track 2

Khi lệnh diskcomp hoàn thành việc so sánh, nó sẽ hiển thị thông báo sau:

Compare another diskette (Y/N)?

Nếu bạn nhấn Y, lệnh diskcomp sẽ nhắc bạn chèn đĩa để so sánh tiếp theo. Nếu bạn nhấn N, lệnh diskcomp sẽ dừng so sánh.

Khi diskcomp thực hiện so sánh, nó bỏ qua số lượng phân vùng của ổ đĩa.

  • Bỏ qua các tham số ổ đĩa

Nếu bạn bỏ qua tham số Drive2, lệnh diskcomp sẽ sử dụng ổ đĩa hiện tại cho Drive2. Nếu bạn bỏ qua cả hai tham số ổ đĩa, lệnh diskcomp sẽ sử dụng ổ đĩa hiện tại cho cả hai. Nếu ổ đĩa hiện tại giống với Drive1, lệnh diskcomp sẽ nhắc bạn đổi vị trí các đĩa khi cần thiết.

  • Sử dụng một ổ đĩa

Nếu bạn chỉ định cùng một ổ đĩa mềm cho Drive1Drive2, lệnh diskcomp so sánh chúng bằng cách sử dụng một ổ đĩa và sẽ nhắc bạn chèn đĩa nếu cần. Bạn có thể phải đổi vị trí các đĩa nhiều lần, tùy thuộc vào dung lượng của đĩa và dung lượng bộ nhớ có sẵn.

  • So sánh các loại đĩa khác nhau

Diskcomp không thể so sánh đĩa đơn một mặt với đĩa hai mặt, cũng như đĩa high-density (mật độ cao) với đĩa double-density (mật độ kép). Nếu đĩa trong Drive1 không cùng loại với đĩa trong Drive2, thì lệnh diskcomp sẽ hiển thị thông báo sau:

Drive types or diskette types not compatible
  • Sử dụng lệnh diskcomp với mạng và các ổ đĩa chuyển hướng 

Diskcomp không hoạt động trên một ổ đĩa mạng hoặc trên một ổ đĩa được tạo ra bởi lệnh subst. Nếu bạn cố gắng sử dụng lệnh diskcomp với một ổ đĩa của bất kỳ loại nào trong số này, lệnh diskcomp sẽ hiển thị thông báo lỗi sau:

Invalid drive specification
  • So sánh đĩa gốc với bản sao

Khi bạn sử dụng lệnh diskcomp với một đĩa mà bạn đã thực hiện bằng cách sử dụng lệnh copy, lệnh diskcomp có thể hiển thị một thông báo tương tự như sau:

Compare error on 
 side 0, track 0

Loại lỗi này có thể xảy ra ngay cả khi các file trên đĩa giống hệt nhau. Mặc dù lệnh copy sao chép thông tin, nó không nhất thiết phải đặt thông tin đó ở cùng một vị trí trên đĩa đích.

  • Hiểu các exit code (mã thoát) của lệnh diskcomp

Bảng sau giải thích từng exit code.

Exit code Mô tả
0 Các đĩa giống nhau.
1 Có sự khác biệt.
3 Đã xảy ra lỗi nghiêm trọng.
4 Đã xảy ra lỗi khởi tạo.

Để xử lý các exit code được trả về bởi lệnh diskcomp, bạn có thể sử dụng biến môi trường ERRORLEVEL trên dòng lệnh if trong một chương trình batch.

Ví dụ

Nếu máy tính của bạn chỉ có một ổ đĩa mềm (ví dụ, ổ A) và bạn muốn so sánh hai đĩa, hãy nhập:

diskcomp a: a:

Diskcomp nhắc bạn chèn từng đĩa, nếu cần.

Ví dụ sau minh họa cách xử lý exit code của lệnh diskcomp trong một chương trình batch sử dụng biến môi trường ERRORLEVEL trên dòng lệnh if:

rem Checkout.bat compares the disks in drive A and B 
 echo off 
 diskcomp a: b: 
 if errorlevel 4 goto ini_error 
 if errorlevel 3 goto hard_error 
 if errorlevel 1 goto no_compare
 if errorlevel 0 goto compare_ok 
 :ini_error 
 echo ERROR: Insufficient memory or command invalid 
 goto exit 
 :hard_error 
 echo ERROR: An irrecoverable error occurred 
 goto exit 
 :break 
 echo "You just pressed CTRL+C" to stop the comparison 
 goto exit 
 :no_compare 
 echo Disks are not the same 
 goto exit 
 :compare_ok 
 echo The comparison was successful; the disks are the same 
 goto exit 
 :exit

Xem thêm:

Thứ Tư, 31/10/2018 12:59
52 👨 74