Đố vui về câu lệnh DOS

Liên hệ QC

anhtuan1066

Thành viên gạo cội
Tham gia
10/3/07
Bài viết
5,802
Được thích
6,911
Ai đã từng học qua DOS chắc ko lạ gì câu lệnh DIR.. Đây là lệnh nội trú, đương nhiên gõ sẽ dc mà ko cần phải thêm bớt cài đặt gì cả...
Cú pháp đầy đũ của nó là:
Mã:
[B][COLOR=#ffffff]dir[/COLOR][/B] [[I]Drive[/I][B]:[/B]][[I]Path[/I]][[I]FileName[/I]] [...] [[B]/p[/B]] [[B]/q[/B]] [[B]/w[/B]] [[B]/d[/B]] [[B]/a[/B][[[B]:[/B]][I]attributes[/I]]]
[[B]/o[/B][[[B]:[/B]][I]SortOrder[/I]]] [[B]/t[/B][[[B]:[/B]][I]TimeField[/I]]] [[B]/s[/B]] [[B]/b[/B]] [[B]/l[/B]] [[B]/n[/B]] [[B]/x[/B]] [[B]/c[/B]] [[B]/4[/B]]
Ở đây ta ko quan tâm đến mấy tham số lăng nhăng phía trên.. Chắc các bạn cũng biết rằng nếu gõ DIR 1 phát rồi Enter thì ít nhiều nó cũng xuất ra cái gì đó, đại loại là thông tin về files và Folder trên máy tính của ta... Ấy vậy mà có lần tôi gõ DIR, ENTER nó ra câu thông báo:
Mã:
[B]Bad command or File name[/B]
Điều này quả thật là vô lý! Theo các bạn nguyên nhân là do đâu?
(Đặt giã thuyết rằng phiên bản DOS ta đang sử dụng hoàn toàn ko có vấn đề)
Đây là câu đố mà ngày xưa tôi đã từng bị thằng bạn thân chơi cho 1 vố và phải mất chầu cafe... hi.. hi...
ANH TUẤN
 
Ngày xưa anh mất 1 chầu càfe. Ngày nay anh có chịu mất chầu nhậu không ???
Ta đi từ DOS nhé. Lệnh DIR là lệnh "nội trú" vậy là vẫn bị "Bad Command or File name" vậy mà do đâu ta ??? hi hi

Thân
 
Lỡ có ai đó chơi khăm xóa phén cái file command.exe trong DOS, thì vẫn boot máy được, nhưng lệnh nội trú nào cũng Bad command and file name chứ chẳng riêng gì ông DIR đâu... Hic, ngày xửa ngày xưa em đã bị gòy...
 
Tôi đã nói là DOS ko có vấn đề cơ mà... Tóm lại mọi lệnh đều chạy tuốt trừ thằng DIR...
Cái này nói thêm: lỗi trên là do có người chơi khăm... và nếu biết dc ông bạn chơi trò gì thì sẽ giãi quyết dc vấn đề 1 cách nhanh chóng.. he.. he.. Vấn đề là ông bạn ấy đã dùng phép phù thủy gì thế?
ANH TUẤN
 
anhtuan1066 đã viết:
Tôi đã nói là DOS ko có vấn đề cơ mà... Tóm lại mọi lệnh đều chạy tuốt trừ thằng DIR...
Cái này nói thêm: lỗi trên là do có người chơi khăm... và nếu biết dc ông bạn chơi trò gì thì sẽ giãi quyết dc vấn đề 1 cách nhanh chóng.. he.. he.. Vấn đề là ông bạn ấy đã dùng phép phù thủy gì thế?
ANH TUẤN

oh, thế thì rõ rồi
ô bạn anh đã soạn 1 file có tên là "DIR.BAT" có chứa dòng:
Echo Bad Command or File name
thế là khi ta gõ DIR -> sẽ thực hiện file này và cho KQ là dòng thông báo trên màn hình như trên.
 
Chỉnh sửa lần cuối bởi điều hành viên:
Ối trời...nếu chơi khăm kiểu đó thì có nhiều trò...nhét nó vào Autoxec.bat thì bào nó làm gì cũng được. Em đã từng chơi khăm thằng bạn, bật máy lên, màn hình đen ngòm và hiện cảnh báo "DOS is now formating your hardisk" ha ha...không biết chữa thì chỉ có ngồi mà khóc
 
anhtuan1066 đã viết:
Tôi đã nói là DOS ko có vấn đề cơ mà... Tóm lại mọi lệnh đều chạy tuốt trừ thằng DIR...
Cái này nói thêm: lỗi trên là do có người chơi khăm... và nếu biết dc ông bạn chơi trò gì thì sẽ giãi quyết dc vấn đề 1 cách nhanh chóng.. he.. he.. Vấn đề là ông bạn ấy đã dùng phép phù thủy gì thế?
ANH TUẤN
Chắc là họ tạo file Dir.bat, Dir.exe rồi trong đó họ cho dòng lệnh vào thôi, có nhiều cái còn oái ăm nữa cơ. khởi động máy nó báo lằng nhằng nào là ổ cứng hỏng nào là hệ thống lỗi .... cuối cùng hóa ra các ông ấy sửa file autoxecbat.
 
tigertiger đã viết:
oh, thế thì rõ rồi
ô bạn anh đã soạn 1 file có tên là "DIR.BAT" có chứa dòng:
Echo Bad Command or File name
thế là khi ta gõ DIR -> sẽ thực hiện file này và cho KQ là dòng thông báo trên màn hình như trên.
dir là lệnh nội trú, nếu có file dir.bat với nội dung gì thì khi nhấn DIR nó cũng ưu tiên lệnh DIR chạy mà thôi. Pác anhtuan1066 giải với, em thì bó tay--=0
 
Tigertiger trã lời chính xác đấy... Vì theo quy định của DOS nếu gọi 1 lệnh mà trùng tên thì nó sẽ ưu tiên chạy file .bat trước...
Ko tin cứ thử xem... Có thể thử với bất cứ lệnh nào
He... he...
ANH TUẤN
 
anhtuan1066 đã viết:
Tigertiger trã lời chính xác đấy... Vì theo quy định của DOS nếu gọi 1 lệnh mà trùng tên thì nó sẽ ưu tiên chạy file .bat trước...
Ko tin cứ thử xem... Có thể thử với bất cứ lệnh nào
He... he...
ANH TUẤN
hic, chiến thắng rùi ah?
Nhưng với DOS trong WIN thì khác đó atuan, dù có file bat kia thì nó vẫn thực hiện DIR bình thường, hi iiiii
 
To AnhTuan
Thật ra, em nghĩ như DarkMoon vậy tức là lệnh nội trú vẫn ưu tiên hơn file *.bat. Lỗi trên có thể ai đó sửa file Command của DOS bằng Diskedit (giống như Việt hoá hệ điều hành DOS)
Anh có thể khởi động bằng Hiren Boot vào DOS và dùng lệnh Copy con DIR.BAT để tạo file DIR.bat nhưng cũng kg có tác dụng gì đâu. Thậm chí tạo file DIR.COM hoặc DIR.EXE bằng ASM thì DOS vẫn ưu tiên lệnh Dir nội trú đấy anh à. hix hix

Thân
 
Ko phải đâu... tôi bảo đãm là file .bat sẽ dc ưu tiên đấy... Bây giờ như thế này: Đễ bảo đãm 1 môi trường DOS đúng nghĩa, bạn hãy tạo 1 đĩa mềm khởi động (theo kiểu thời Win98 vẫn làm ấy).. Tất nhiên trong đĩa này bạn hãy tạo 1 file DIR. bat rồi khi dùng đĩa đễ khởi động bạn hãy chạy lệnh DIR thử xem...
Vì cái vụ này tôi đã từng nếm qua khi còn học với Win3.1 và Win98, tôi đã chứng kiến và tin đó là thật... khi xóa file DIR.bat thì mọi chuyện lại trở về như cũ
ANH TUẤN
 
Ái chà chà, dạo này các bác lại quay về lệnh Dos thủa xa xưa cơ à :-=

Em có vài ý kiến như sau:

+ Lệnh nội trú là những lệnh thi hành những chức năng của HĐH, thường xuyên được sử dụng, được lưu trữ vào bộ nhớ của máy tính từ khi khởi động và thường trú ở trong đó cho tới khi tắt máy.Lệnh nội trú là một phần nội dung của tệp tin COMMAND.COM
+ Sau khi nhận được lệnh khởi động máy từ ROM-BIOS, hệ điều hành sẽ lần lượt gọi chạy các tệp COMMAND.COM, MS-DOS.SYS, IO.SYS. Sau khi quá trình trên kết thúc, hệ điều hành sẽ tìm kiếm trên thư mục gốc ổ đĩa khởi động xem có tệp CONFIG.SYS hay không, nếu có nó sẽ tuần tự thực hiện các lệnh trong tệp đó, nếu có/không thì sau đó vẫn tiếp tục kiểm tra xem có tệp AUTOEXEC.BAT hay không, nếu có thì cũng tuần tự thực hiện các lệnh có trong tệp này, nếu có/không thì kết thúc quá trình khởi động và trả lại quyền điều khiển cho người sử dụng
+ Về thứ tự thực hiện câu lệnh trong Dos (nếu có cùng một tệp thực thi) bao giờ cũng ưu tiên thực hiện lệnh nội trú trong tệp Command.com trước sau đó đến lệnh ngoại trú và các tệp tin .bat do người dùng tạo ra, đúng như Darkmoon và Tedaynui trả lời

Do đó trong trường hợp này chắc là do họ sửa tệp tin Command.com bằng công cụ Diskedit hoặc công cụ khác để thay thế lệnh DIR

Ví dụ:
+ Lệnh DIR có mã (44,49,52) và có thể đổi thành XEM (58,45,4D) => Do đó nếu khi gõ lệnh Dir thì tất nhiên là sẽ báo lỗi "Bad command or file name" vì lệnh này đã được đổi tên thành lệnh XEM
+ Lệnh CLS có mã (43,4C,53) và có thể đổi thành XOA (58,4F,4D).
+ v.v...
 
Web KT

Bài viết mới nhất

Back
Top Bottom