ฉันรู้ว่าระบบปฏิบัติการ Windows เป็นแบบตัวพิมพ์เล็กหรือใหญ่ สิ่งนี้เป็นจริงสำหรับระบบปฏิบัติการ Windows ทั้งหมด (ตั้งแต่ Windows 95 ถึง Windows 7) หรือไม่? มีการตั้งค่ารีจิสทรีเพื่อให้ตัวพิมพ์เล็กและตัวพิมพ์เล็กหรือไม่
ฉันรู้ว่าระบบปฏิบัติการ Windows เป็นแบบตัวพิมพ์เล็กหรือใหญ่ สิ่งนี้เป็นจริงสำหรับระบบปฏิบัติการ Windows ทั้งหมด (ตั้งแต่ Windows 95 ถึง Windows 7) หรือไม่? มีการตั้งค่ารีจิสทรีเพื่อให้ตัวพิมพ์เล็กและตัวพิมพ์เล็กหรือไม่
คำตอบ:
ใช่นี่เป็นจริงสำหรับ Windows ทุกรุ่น ไม่มีวิธีทำให้ Windows เล็กและใหญ่ โปรดทราบว่าแอพบางตัวที่พัฒนามาสำหรับ Unix / Linux และพอร์ตนั้นอาจคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ยกตัวอย่างเช่น Cygwin เป็นกรณี ๆ ไป พฤติกรรมนี้หายากมากแม้ว่า
/bIn/BaSh
ไม่ทำงานในระบบของฉัน
ที่จริงแล้วขึ้นอยู่กับระบบย่อย API / Windows ที่คุณใช้ (โปรแกรมของคุณ)
หากคุณใช้ " Windows API " (มาตรฐานสำหรับแอพ Windows) ชื่อไฟล์จะไม่ตรงตามตัวพิมพ์ใหญ่ - เล็ก อย่างไรก็ตามหากคุณใช้ระบบย่อย POSIX (aka Windows Services สำหรับ Unix) คุณสามารถเปิดใช้งานตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
ดูเช่นบทความสนับสนุน MS นี้: เปิดใช้งานลักษณะการทำงานตัวพิมพ์เล็กและตัวพิมพ์ใหญ่กับระบบย่อย Windows XP และ Interix หรือ SFU
Cygwin พยายามเลียนแบบ Unix ดังนั้นจึงต้องรับความไวตัวพิมพ์เล็กและตัวพิมพ์ใหญ่เพื่อไม่ให้แอปพลิเคชั่นหยุดทำงาน Windows ในตัวเองไม่ได้เป็นกรณี ๆ มันเกี่ยวกับระบบไฟล์ คุณสามารถอ่านเพิ่มเติมเกี่ยวกับเรื่องนี้ในระบบไฟล์, ระบบไฟล์ภายใต้ Microsoft Windows (Wikipedia)
unsupported
เพื่อที่จะพูด
/bIn/BaSh
ใน Cygwin และบอกฉันอีกครั้งว่ามันเป็นตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
Microsoft ได้เพิ่มการกำหนดค่าตัวพิมพ์เล็กและตัวพิมพ์เล็กที่สามารถใช้กับไดเรกทอรี NTFS (โฟลเดอร์) สำหรับไดเรกทอรีที่มีการตั้งค่าสถานะนี้ (เปิดใช้งาน) การดำเนินการทั้งหมดในไฟล์ในไดเรกทอรีนั้นจะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่โดยไม่คำนึงว่าระบุ FILE_FLAG_POSIX_SEMANTICS หรือไม่ ซึ่งหมายความว่าหากคุณมีสองไฟล์ที่แตกต่างกันไปตามตัวพิมพ์เล็กและใหญ่ในไดเรกทอรีที่มีการทำเครื่องหมายด้วยตัวพิมพ์เล็กและตัวพิมพ์ใหญ่โปรแกรมทั้งหมดจะสามารถเข้าถึงได้
เริ่มต้นด้วยWindows 10 build 17107 Microsoft ได้เพิ่มความสามารถในการดูและแก้ไขการตั้งค่าสถานะนี้ในคำสั่ง fsutil.exe
ในการตรวจสอบว่าไดเร็กทอรีเป็นตัวพิมพ์เล็กหรือใหญ่ให้รันคำสั่งต่อไปนี้:
fsutil.exe file queryCaseSensitiveInfo <path>
หากต้องการทำเครื่องหมายไดเรกทอรีเป็นแบบตรงตามตัวพิมพ์ใหญ่และตัวพิมพ์เล็กหรือใหญ่ตามลำดับ:
fsutil.exe file setCaseSensitiveInfo <path> enable
fsutil.exe file setCaseSensitiveInfo <path> disable
นี้เป็นจากที่นี่ คุณสามารถกำหนดค่าHKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\ dword:ObCaseInsensitive
รีจิสตรีให้0
เป็นอย่างที่ผู้เขียนคนอื่นแนะนำ สร้างไฟล์ที่ชื่อadd.reg
ด้วยเนื้อหาต่อไปนี้และเรียกใช้
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel]
"obcaseinsensitive"=dword:00000000
จากนั้นใช้Cygwinเพื่อทำงานกับชื่อไฟล์ที่คำนึงถึงขนาดตัวพิมพ์
ในการทำเช่นนั้นคุณจะต้องติดตั้งระบบไฟล์ NTFS พร้อมposix=1
ตัวเลือกในของคุณ/etc/fstab
ตามที่บทความนี้แนะนำ นี่เป็นตัวอย่างจากฉันfstab
:
none /cygdrive cygdrive binary,posix=1,user 0 0
C: /cygdrive/c ntfs binary,posix=1,user,auto 0 0
C:/Users /home ntfs binary,posix=1,user,auto 0 0
เมื่อทำเสร็จแล้วคุณจะสามารถจัดการกับชื่อไฟล์ที่ใช้ตัวอักษรพิมพ์bash
เล็กmc
และตัวพิมพ์เล็กgit
ฯลฯ
ตรวจสอบให้แน่ใจว่าจะรีบูตหลังจากแก้ไขทั้งสองอย่าง
Barfieldmv ถูกต้อง ระบบไฟล์จะคำนึงถึงขนาดตัวพิมพ์และไฟล์จะถูกเก็บไว้ในเคสที่เหมาะสม เลเยอร์การเข้าถึงไฟล์มีหน้าที่ลบกรณีและปัญหาเมื่อจับคู่ไฟล์กับตัวให้คำอธิบายไฟล์ใหม่