Cách hoạt động này
Đây là một tính năng hệ thống tệp NTFS mà bạn có thể bật trên cơ sở từng thư mục. Nó không áp dụng cho toàn bộ hệ thống tệp của bạn, vì vậy bạn chỉ có thể bật độ nhạy trường hợp cho các thư mục cụ thể mà bạn sử dụng cho mục đích phát triển.
Độ nhạy trường hợp được thêm vào trong Bản cập nhật tháng 4 năm 2018 của Windows 10. Trước đó, có thể gắn các thư mục Windows như phân biệt chữ hoa chữ thường trong môi trường Bash trên Windows, còn được gọi là Windows Subsystem cho Linux. Điều đó làm việc tốt trong môi trường Linux, nhưng nó làm rối loạn các ứng dụng Windows bình thường. Đây là một tính năng cấp hệ thống tập tin, có nghĩa là tất cả các ứng dụng Windows cũng sẽ thấy một hệ thống tệp phân biệt chữ hoa chữ thường trong thư mục đó.
Tính năng này được bật thông qua
fsutil.exe
lệnh, mà bạn phải chạy từ dòng lệnh. Bạn có thể làm điều đó từ cửa sổ Command Prompt hoặc PowerShell. Với các thiết lập mặc định, các thư mục bạn tạo trong môi trường Linux cũng được cấu hình tự động để phân biệt chữ hoa chữ thường.
Làm thế nào để thiết lập một thư mục như trường hợp nhạy cảm
Để bắt đầu, bấm chuột phải vào nút Bắt đầu, rồi chọn lệnh “PowerShell (Quản trị viên)”. Nếu bạn thích sử dụng Command Prompt, bạn có thể tìm kiếm “Command Prompt” trong menu Start, kích chuột phải vào nó, sau đó chọn lệnh “Run as Administrator”. Lệnh này hoạt động giống nhau, bất kể bạn chọn môi trường dòng lệnh nào.
Bạn có thể không thực sự cần quyền truy cập Quản trị viên để chạy lệnh này, tùy thuộc vào quyền của bạn. Về mặt kỹ thuật, bạn cần quyền "ghi thuộc tính" cho thư mục bạn muốn sửa đổi. Trong hầu hết các trường hợp, điều này có nghĩa là bạn sẽ cần quyền Quản trị viên nếu bạn muốn chỉnh sửa thư mục ở bên ngoài thư mục người dùng của mình - chẳng hạn như c: project -- chứ không phải nếu bạn muốn sửa đổi thư mục ở đâu đó trong thư mục người dùng của mình - tại c: users TÊNdự án.
Để làm cho một trường hợp thư mục nhạy cảm, gõ lệnh sau, thay thế "C: thư mục" với đường dẫn đến thư mục:
fsutil.exe file setCaseSensitiveInfo C:folder enable
Nếu đường dẫn thư mục có một khoảng trống trong nó, kèm theo toàn bộ đường dẫn trong dấu ngoặc kép, như sau:
fsutil.exe file setCaseSensitiveInfo 'C:my folder' enable
Điều này không ảnh hưởng đến các thư mục con
Cờ độ nhạy chữ hoa chỉ ảnh hưởng đến thư mục cụ thể mà bạn áp dụng nó. Nó không được thừa kế tự động bởi các thư mục con của thư mục đó.
Nói cách khác, nếu bạn có một thư mục có tên C: folder và nó có thư mục C: folder test và C: folder stuff bên trong nó, đơn giản là làm cho thư mục C: folder nhạy cảm cũng không làm cho Các thư mục con "thử nghiệm" và "công cụ" bên trong phân biệt chữ hoa chữ thường. Bạn cần phải chạy
fsutil
lệnh riêng biệt để làm cho tất cả ba thư mục phân biệt chữ hoa chữ thường.
Các công cụ Linux tạo ra các thư mục nhạy cảm theo mặc định
Các công cụ Linux mà bạn chạy bên trong Hệ thống con Windows cho Linux (vỏ Bash) giờ đây tạo các thư mục với bộ cờ chữ hoa chữ thường. Vì vậy, cho dù bạn sử dụng
mkdir
lệnh để tạo một thư mục bên trong một shell Bash hoặc một công cụ phát triển nào đó cho bạn, thư mục được tạo sẽ tự động được đặt là trường hợp nhạy cảm - ngay cả khi bạn tạo nó trên hệ thống tệp Windows được gắn kết của bạn.
Về mặt kỹ thuật, điều này xảy ra vì hệ thống tệp DrvFs cho môi trường Linux sử dụng
case=dir
gắn cờ theo mặc định. Các
case=dir
tùy chọn thiết lập môi trường Linux để tôn trọng cờ NTFS của mỗi thư mục và tự động đặt cờ độ nhạy chữ hoa chữ thường trên các thư mục được tạo từ bên trong môi trường Linux. Bạn có thể thay đổi tùy chọn này trong tệp wsl.conf của bạn, nếu bạn muốn.
Miễn là bạn tạo các thư mục từ môi trường Linux, chúng được tạo với các cài đặt độ nhạy trường hợp thích hợp và bạn không bao giờ cần phải chạm vào lệnh fsutil.exe.
Cách kiểm tra xem một thư mục có phân biệt chữ hoa chữ thường hay không
Để kiểm tra xem một thư mục có phân biệt chữ hoa chữ thường hay không, hãy chạy lệnh sau, thay thế “C: folder” bằng đường dẫn đến thư mục.
fsutil.exe file queryCaseSensitiveInfo C:folder
Nếu tính nhạy cảm của trường hợp được kích hoạt cho một thư mục, bạn sẽ thấy rằng “Thuộc tính nhạy cảm của trường hợp trên thư mục [đường dẫn] được bật.” Nếu thư mục đang sử dụng trường hợp không phân biệt chữ hoa chữ thường, bạn sẽ thấy thuộc tính “Trường hợp nhạy cảm trên thư mục [đường dẫn] bị tắt."
Làm thế nào để làm cho một trường hợp thư mục không nhạy cảm
Để hoàn tác thay đổi của bạn và làm cho một trường hợp thư mục không nhạy cảm một lần nữa (như Bill Gates dự định nó), hãy chạy lệnh sau, thay thế “C: folder” bằng đường dẫn đến thư mục.
fsutil.exe file setCaseSensitiveInfo C:folder disable