Tại sao dir *. * Liệt kê tất cả các tệp và thư mục?
Đôi khi bạn có thể kết thúc với kết quả không mong muốn khi chạy các lệnh, vì vậy, việc tìm hiểu về lý do tại sao, đằng sau kết quả có thể rất thú vị. Với ý nghĩ đó, bài hỏi và trả lời của SuperUser ngày nay có câu trả lời cho câu hỏi của người đọc tò mò.
Phiên hỏi và trả lời hôm nay đến với chúng tôi nhờ sự hỗ trợ của SuperUser - một phân ngành của Stack Exchange, một nhóm các trang web Hỏi & Đáp do cộng đồng điều khiển.
Câu hỏi
Người đọc siêu người dùng Lưu Vinh Phúc muốn biết lý do tại sao dir *. * Liệt kê tất cả các tệp và thư mục:
Khi tôi chạy lệnh dir *. *, Nó tạo ra kết quả không mong muốn. Ngay cả các tệp và thư mục không có bất kỳ dấu chấm nào trong tên được liệt kê. Ví dụ:
Tại sao vậy? Có cách nào để chỉ liệt kê các tập tin với một dấu chấm?
Tại sao dir *. * Liệt kê tất cả các tệp và thư mục?
Câu trả lời
Bộ chỉ huy Hạm đội đóng góp SuperUser có câu trả lời cho chúng tôi:
Lệnh DIR xuất hiện từ thời điểm:
- Dấu chấm (.) Không được phép dưới dạng ký tự trong tên tệp hoặc thư mục
- Tên tệp và thư mục bị giới hạn ở 8 ký tự cho tên và 3 ký tự cho tiện ích mở rộng
Do đó, theo tiêu chuẩn đó, *. * Có nghĩa là bất kỳ tên nào và bất kỳ phần mở rộng nào. Điều đó không có nghĩa là một chuỗi chứa một tên. Tấn, có thể có hoặc không có các ký tự trước hoặc sau chữ..
Chính sách của Microsoft đang duy trì khả năng tương thích ngược, do đó việc giải thích *. * Được giữ nguyên. Nhưng trong Windows PowerShell, *. * Có nghĩa là một chuỗi có chứa một tên., Có thể có hoặc không có các ký tự trước hoặc sau chữ..
Có một cái gì đó để thêm vào lời giải thích? Tắt âm thanh trong các ý kiến. Bạn muốn đọc thêm câu trả lời từ những người dùng Stack Exchange am hiểu công nghệ khác? Kiểm tra chủ đề thảo luận đầy đủ ở đây.