قم بتمكين الوضع الحساس لحالة الأحرف للمجلدات في نظام التشغيل Windows 10
كما تعلم بالفعل ، يتعامل نظام ملفات Windows ، NTFS ، مع أسماء الملفات والمجلدات على أنها غير حساسة لحالة الأحرف. على سبيل المثال ، بالنسبة لنظام التشغيل والتطبيقات ، يعد الملفان MyFile.txt و myfile.txt نفس الملف. ومع ذلك ، فإن الأمور مختلفة في Linux. بالنسبة لنظام التشغيل هذا ، هذان ملفان مختلفان. قد يؤدي هذا الاختلاف في السلوك إلى حدوث مشكلات لمستخدمي WSL. لحلها ، يتضمن Windows 10 القدرة على تمكين الوضع الحساس لحالة الأحرف للمجلدات.
إذا كنت قد استخدمت ملف نظام Windows الفرعي لنظام التشغيل Linux، ربما تعلم أنه يسمح لك بمعاملة أنظمة ملفات Windows (المثبتة تحت / mnt / c ، / mnt / d ، إلخ) على أنها حساسة لحالة الأحرف. هذا يعني ، من بين أشياء أخرى ، أنه يمكنك إنشاء ملفات تختلف أسماؤها حسب الحالة فقط (على سبيل المثال ، foo.txt و FOO.TXT).
ومع ذلك ، فإن استخدام هذه الملفات في Windows لم يكن ممكنًا حقًا. نظرًا لأن تطبيقات Windows تتعامل مع نظام الملفات على أنه غير حساس لحالة الأحرف ، فلا يمكنها التمييز بين الملفات التي تختلف أسماؤها في الحالة فقط. بينما يعرض File Explorer كلا الملفين ، سيتم فتح ملف واحد فقط بغض النظر عن الملف الذي قمت بالنقر فوقه.
بدءًا من إصدار Windows Insider 17093 ، هناك طريقة جديدة للتعامل مع الملفات الحساسة لحالة الأحرف في Windows: حساسية حالة الأحرف لكل دليل. تمت إضافة هذه القدرة لمنح المستخدم إمكانية تشغيل تفاعلي أفضل عند استخدام الملفات الحساسة لحالة الأحرف. أيضًا ، يمكنك استخدامه مع تطبيقات Windows العادية. بدءًا من Windows 10 Build 17110 ، يكون هذا السلوك هو الافتراضي.
المزيد من التفاصيل
حساسية حالة الأحرف في Windows
تتمتع عائلة أنظمة التشغيل Windows NT (بما في ذلك Windows 10) دائمًا بالقدرة على تنفيذ عمليات نظام الملفات الحساسة لحالة الأحرف. يمكن للتطبيقات اجتياز الامتداد FILE_FLAG_POSIX_SEMANTICS
العلم إلى إنشاء ملف
API للإشارة إلى أنهم يريدون أن يتم التعامل مع المسار على أنه حساس لحالة الأحرف. ومع ذلك ، لأسباب التوافق ، هناك مفتاح تسجيل عمومي يتجاوز هذا السلوك؛ عند تعيين هذا المفتاح ، تكون جميع عمليات الملف غير حساسة لحالة الأحرف ، حتى عندما يكون ملف FILE_FLAG_POSIX_SEMANTICS
العلم محدد. منذ Windows XP ، كان هذا هو الإعداد الافتراضي.
يستخدم نظام Windows الفرعي لنظام Linux آلية أخرى ، والتي تتخطى هي نفسها مفتاح التسجيل ، مما يسمح لنا بإجراء عمليات نظام الملفات الحساسة لحالة الأحرف. هذا ما يسمح لتطبيقات Linux التي تعمل في WSL باستخدام أسماء الملفات التي تختلف فقط حسب الحالة ، تمامًا كما هو الحال في Linux الحقيقي ، حتى مع مجموعة مفاتيح التسجيل العالمية.
لسوء الحظ ، يترك لك هذا ملفات لا يمكن الوصول إليها بواسطة تطبيقات Windows. على الرغم من أنه يمكنك تغيير مفتاح التسجيل العام ، إلا أنه لا يزال يعمل فقط لتلك التطبيقات التي تستخدم FILE_FLAG_POSIX_SEMANTICS
، وهذا من شأنه أن يغير سلوك جميع الملفات على جميع محركات الأقراص ، وهو ما قد لا يكون مقصودًا وقد يؤدي إلى تعطيل بعض التطبيقات.
حساسية حالة كل دليل
لحل هذه المشكلة ، أضافت Microsoft علامة جديدة لحالة الأحرف يمكن تطبيقها على الدلائل. بالنسبة إلى الدلائل التي تحتوي على مجموعة العلامات هذه ، فإن جميع العمليات على الملفات في هذا الدليل حساسة لحالة الأحرف ، بغض النظر عما إذا كان FILE_FLAG_POSIX_SEMANTICS
تم تحديده. هذا يعني أنه إذا كان لديك ملفان يختلفان فقط حسب الحالة في دليل تم تمييزه على أنه حساس لحالة الأحرف ، فستتمكن جميع التطبيقات من الوصول إليهما.
تمكين الوضع الحساس لحالة الأحرف للمجلدات
لتمكين هذه الميزة أو تعطيلها ، يجب عليك استخدام تطبيق fsutil.exe المدمج.
لتمكين الوضع الحساس لحالة الأحرف للمجلدات، قم بما يلي.
- افتح موجه أوامر غير مقيد.
- اكتب الأمر التالي:
تمكين تعيين ملف fsutil.exe setCaseSensitiveInfo "المسار الكامل إلى المجلد الخاص بك"
استبدل جزء المسار بالمسار الصحيح المطابق لجهاز الكمبيوتر الخاص بك.
على سبيل المثال،fsutil.exe ملف setCaseSensitiveInfo "C: \ data \ Winaero \ Linux" تمكين
- انتهيت.
الآن ، يمكنك إنشاء ملفين بنفس الاسم مع اختلاف حالة الأحرف فقط. سيقوم Windows 10 بمعالجتها بشكل صحيح في هذا المجلد المحدد.
لمعرفة حالة الميزة لمجلد ، قم بتشغيل الأمر
استعلام ملف fsutil.exeCaseSensitiveInfo "المسار الكامل إلى المجلد الخاص بك"
على سبيل المثال،
استعلام ملف fsutil.exeCaseSensitiveInfo "C: \ data \ Winaero \ Linux"
سترى شيئًا كهذا:
أخيرا، لتعطيل الوضع الحساس لحالة الأحرف للمجلدات، قم بتشغيل الأمر التالي في موجه الأوامر المفتوح كمسؤول:
fsutil.exe تعيين ملف setCaseSensitiveInfo "C: \ data \ Winaero \ Linux" تعطيل
استخدم مسار المجلد الصحيح وانتهى الأمر.
ملحوظة: لا يتم دعم تعطيل السمة CaseSensitiveInfo للمجلدات غير الفارغة. يجب عليك إزالة جميع الملفات من المجلد قبل تعطيله.
هذا كل شيء.