8.3 اسم الملف
اسم الملف 8.3 (ويُسمى أيضًا اسم الملف المختصر أو SFN ) هو اسم ملف يتبع اصطلاح تسمية الملفات المستخدم في نظام CP/M والإصدارات القديمة من نظام DOS وإصدارات مايكروسوفت ويندوز السابقة لويندوز 95 وويندوز NT 3.5 . كما يُستخدم في أنظمة تشغيل مايكروسوفت الحديثة كاسم ملف بديل للاسم الطويل، لتوفير التوافق مع البرامج القديمة . ويُقيّد نظام الملفات FAT اصطلاح تسمية الملفات هذا. وقد وُجدت أنظمة تسمية ملفات مشابهة 8.3 (و6.3) في أنظمة تشغيل سابقة لأنظمة CP/M و TRS-80 وأتاري، وبعض أنظمة تشغيل الحواسيب الصغيرة من شركتي داتا جنرال وديجيتال إكويبمنت كوربوريشن.
ملخص
تقتصر أسماء الملفات في نظام 8.3 على ثمانية أحرف كحد أقصى (بعد أي مُحدد للمجلد)، ويُمكن إضافة امتداد للملف يتكون من نقطة وثلاثة. أحرف إضافية كحد أقصى. في الأنظمة التي تدعم أسماء الملفات في نظام 8.3 فقط ، يتم تجاهل الأحرف الزائدة. إذا لم يكن لاسم الملف امتداد ، فإن اللاحقة لا تُؤثر على الاسم ( أي أن ` file . ....myfilemyfile.CamelCap.tpuCAMELCAP.TPU
VFAT وأسماء الملفات التي تم إنشاؤها بواسطة الكمبيوتر 8.3
تم تقديم VFAT ، وهو نوع مختلف من FAT مع تنسيق دليل موسع، في Windows 95 و Windows NT 3.5. وقد سمح بأسماء ملفات طويلة Unicode مختلطة الأحرف بالإضافة إلى أسماء 8.3 الكلاسيكية باستخدام سجلات إدخال دليل متعددة بحجم 32 بايت لأسماء الملفات الطويلة (بطريقة تجعل برامج نظام 8.3 القديمة تتعرف على واحد فقط كإدخال دليل صالح).
للحفاظ على التوافق مع التطبيقات القديمة (على نظامي DOS و Windows 3.1 )، يقوم نظام التشغيل تلقائيًا بإنشاء اسم ملف 8.3 لكل اسم ملف كبير (LFN) على أنظمة الملفات FAT وVFAT، والذي يمكن من خلاله فتح الملف أو إعادة تسميته أو حذفه، على الرغم من أن الاسم المُنشأ (مثلاً OVI3KV~N) قد لا يُظهر تشابهًا كبيرًا مع الاسم الأصلي. يمكن تعطيل إنشاء أسماء الملفات 8.3 على أنظمة الملفات NTFS على مستوى النظام (مع وجود مخاطر). [ 1 ] يمكن الحصول على اسم الملف 8.3 باستخدام دالة GetShortPathName من مكتبة Kernel32.dll . [ 2 ] [ 3 ]
على الرغم من عدم وجود خوارزمية إلزامية لإنشاء اسم 8.3 من اسم طويل، إلا أن نظام التشغيل Windows يستخدم الاصطلاح التالي: [ 4 ]
- إذا كان LFN عبارة عن أحرف كبيرة 8.3، فلن يتم تخزين LFN على القرص على الإطلاق.
- مثال:
TEXTFILE.TXT
- مثال:
- إذا كان LFN هو 8.3 مختلط الأحرف، فسيخزن LFN الاسم المختلط الأحرف، بينما سيكون اسم 8.3 نسخة بأحرف كبيرة منه.
- مثال:
TextFile.TxtيصبحTEXTFILE.TXT.
- مثال:
- إذا احتوى اسم الملف (LFN) على أكثر من 8 أحرف، أو أحرف غير صالحة مثل المسافة (التي كانت ممنوعة وفقًا للعرف، وإن لم تكن ممنوعة في واجهات برمجة التطبيقات)، أو الأحرف الممنوعة في جداول الدليل ، أو امتداد يزيد طوله عن 3 أحرف، فسيتم حذف الأحرف غير الصالحة من الاسم. إذا بدأ الاسم بنقاط،
.فسيتم حذف النقاط البادئة. أما الأحرف الأخرى، مثل الفاصلة+، فسيتم استبدالها بشرطة سفلية ، وستُكتب الأحرف بأحرف كبيرة. بعد ذلك، يُختصر الاسم إلى أول 6 أحرف من اسمه الأساسي ، متبوعة بعلامة المد ، ثم رقم واحد ، ثم نقطة ، ثم أول 3 أحرف من الامتداد._.- مثال:
TextFile.Mine.txtيصبحTEXTFI~1.TXT(أوTEXTFI~2.TXT، ينبغي أنTEXTFI~1.TXTيكون موجودًا بالفعل).ver +1.2.textيصبحVER_12~1.TEX..bashrc.swpيصبحBASHRC~1.SWP
- مثال:
- في جميع إصدارات نظام التشغيل NT، بما في ذلك Windows 2000 والإصدارات الأحدث، إذا كان هناك 4 ملفات أو مجلدات على الأقل موجودة بالفعل بنفس الامتداد وأول 6 أحرف في أسمائها المختصرة، فسيتم اختصار اسم الملف الطويل (LFN) إلى أول حرفين من الاسم الأساسي (أو حرف واحد إذا كان الاسم الأساسي يتكون من حرف واحد فقط)، متبوعًا بـ 4 أرقام سداسية عشرية مشتقة من تجزئة غير موثقة لاسم الملف، متبوعًا بعلامة المد، متبوعًا برقم واحد، متبوعًا بنقطة
.، متبوعًا بأول 3 أحرف من الامتداد. [ 5 ]- مثال:
TextFile.Mine.txtيصبحTE021F~1.TXT.
- مثال:
- في أنظمة التشغيل Windows 95 و 98 و ME، إذا كان هناك أكثر من 9 ملفات أو مجلدات بنفس الامتداد وأول 6 أحرف في أسمائها المختصرة (بحيث لا تكفي اللواحق
~1لحل~9التعارض)، يتم اقتطاع الاسم إلى 5 أحرف، متبوعًا بعلامة المد، متبوعًا برقمين بدءًا من 10، متبوعًا بنقطة.وأول 3 أحرف من الامتداد.- مثال:
TextFile.Mine.txtيصبحTEXTF~10.TXTإذا كانTEXTFI~1.TXTمن خلالTEXTFI~9.TXTكل شيء موجودًا بالفعل.
- مثال:
خلال قضية مكافحة الاحتكار لشركة مايكروسوفت عام 2001 ، تم استخدام اسمي MICROS~1 و MICROS~2 بشكل فكاهي للإشارة إلى الشركات التي قد توجد بعد الانقسام المقترح لشركة مايكروسوفت. [ 6 ]
يدعم نظام الملفات NTFS ، المستخدم في أنظمة تشغيل Windows NT ، أسماء الملفات الطويلة (LFNs) بشكل أصلي، ولكن لا تزال أسماء 8.3 متاحة للتطبيقات القديمة. ومن المعروف أن وحدات تخزين Windows NTVDM تستخدم أسماء 8.3. ويمكن تعطيل هذه الميزة على مستوى النظام لتحسين الأداء في حال وجود عدد كبير من الملفات ذات الأسماء المتشابهة في المجلد نفسه. [ 1 ] يمكن تعطيل إنشاء أسماء الملفات 8.3 على مستوى النظام أو على مستوى وحدة التخزين، كما يمكن حذف أسماء الملفات 8.3 الموجودة باستخدام fsutilمفتاح في سجل النظام. [ 7 ]
يُطبّق نظام الملفات ISO 9660 (المستخدم بشكل أساسي على الأقراص المدمجة ) قيودًا مماثلة في المستوى الأول الأساسي، مع قيد إضافي يتمثل في عدم إمكانية احتواء أسماء المجلدات على امتدادات، وعدم السماح ببعض الأحرف (خاصةً الواصلات ) في أسماء الملفات. يسمح المستوى الثاني بأسماء ملفات تصل إلى 31 حرفًا، وهو أكثر توافقًا مع أسماء ملفات نظامي AmigaOS و Mac OS الكلاسيكيين .
في أنظمة الملفات VFAT و NTFS ، يتم تخزين أسماء الملفات 8.3 بتشفير ANSI، من أجل التوافق مع الإصدارات السابقة.
لم يعد نظام الملفات ReFS يدعم أسماء الملفات 8.3.
التوافق
تُستخدم هذه التقنية القديمة في مجموعة واسعة من المنتجات والأجهزة، كمعيار لتبادل المعلومات، مثل بطاقات الذاكرة المدمجة المستخدمة في الكاميرات. حافظت أسماء الملفات الطويلة VFAT LFN ، التي تم تقديمها مع أنظمة التشغيل Windows 95/98/ME، على التوافق، ولكن نظام VFAT LFN المستخدم في الأنظمة القائمة على NT (Windows NT/2K/XP) يستخدم اسمًا مختصرًا معدلاً من الإصدار 8.3.
إذا كان اسم الملف يحتوي على أحرف صغيرة فقط، أو كان مزيجًا من اسم أساسي صغير وامتداد كبير ، أو العكس؛ ولم يكن يحتوي على أي أحرف خاصة، وكان ضمن حدود الإصدار 8.3، فلن يتم إنشاء مدخل VFAT على نظام التشغيل Windows NT والإصدارات الأحدث مثل XP. بدلاً من ذلك، يتم استخدام بتّين في البايت 0x0c من مدخل الدليل للإشارة إلى أنه يجب اعتبار اسم الملف بأحرف صغيرة كليًا أو جزئيًا. تحديدًا، يشير البت 4 إلى الامتداد الصغير ، والبت 3 إلى الاسم الأساسي الصغير ، مما يسمح بتركيبات مثل ` \ example.TXTn` أو `\ HELLO.txtn` ولكن ليس `\n` Mixed.txt. تدعم أنظمة تشغيل قليلة أخرى هذا. يُسبب هذا مشكلة في التوافق مع الإصدارات القديمة من Windows (95، 98، ME) التي تتعامل مع أسماء الملفات بأحرف كبيرة فقط إذا تم استخدام هذا الامتداد، وبالتالي قد يتغير حالة الأحرف في الملف عند نقله، كما هو الحال على ذاكرة فلاش USB. قد يُسبب هذا مشاكل لأنظمة التشغيل التي لا تُظهر سلوك أسماء الملفات غير الحساس لحالة الأحرف كما هو الحال في DOS وWindows. سيتعرف Linux على هذا الامتداد عند القراءة. [ ٨ ] يحدد الاسم المختصر لخيار التثبيت ما إذا كانت هذه الميزة ستُستخدم عند الكتابة. [ ٩ ] بالنسبة لنظام MS-DOS، يمكن استخدام DOSLFN الخاص بهنريك هافتمان. [ ١٠ ]
جدول الدليل
جدول الدليل هو نوع خاص من الملفات يُمثل دليلاً. يُمثل كل ملف أو دليل مُخزن فيه بإدخال بحجم 32 بايت في الجدول. يسجل كل إدخال الاسم، والامتداد، والخصائص ( أرشيف ، دليل، مخفي، للقراءة فقط، نظام، ووحدة تخزين)، وتاريخ ووقت الإنشاء، وعنوان أول مجموعة بيانات للملف/الدليل، وأخيرًا حجم الملف/الدليل.
تتضمن الأحرف المسموح بها لأسماء ملفات نظام التشغيل DOS ما يلي:
- الأحرف الكبيرة
A–Z - الأرقام
0–9 - المسافة (على الرغم من أن المسافات اللاحقة في الاسم الأساسي أو الامتداد تعتبر حشوًا وليست جزءًا من اسم الملف، إلا أنه يجب أيضًا وضع أسماء الملفات التي تحتوي على مسافات بين علامتي اقتباس لاستخدامها في سطر أوامر DOS، وإذا تم إنشاء أمر DOS برمجيًا، فيجب وضع اسم الملف بين علامتي اقتباس مزدوجتين (
""..."") عند عرضه كمتغير داخل البرنامج الذي ينشئ أمر DOS.) !،#،$،%،&،'،(،)،-،@،^،_،`،{، ،}،~- القيم من 128 إلى 255 (مع العلم أنه في حالة تفعيل خدمات NLS في نظام DOS، فإن بعض الأحرف التي يتم تفسيرها على أنها أحرف صغيرة تكون غير صالحة وغير متاحة).
يستثنى من ذلك الأحرف التالية من نظام ASCII :
",*,+,,,/,:,;,<,=,>,?,\,[,],|[ 11 ] لا يحتوي نظام MS-DOS على حرف هروب في سطر الأوامر.( U+002E . نقطة كاملة ) داخل حقول الاسم والامتداد، باستثناء الإدخالات (انظر أدناه)...- الأحرف الصغيرة
a-zمخزنة علىAنظامZالملفات FAT12/FAT16 - أحرف التحكم 0-31
- القيمة 127 ( حذف )
تكون أسماء ملفات نظام التشغيل DOS إما بتنسيق ASCII أو بتنسيق صفحات الترميز . يؤدي استخدام الرمز 0xE5 كبايت أول (انظر أدناه) إلى حدوث مشاكل عند استخدام أحرف إضافية غير ASCII .
تكون إدخالات الدليل، سواء في منطقة الدليل الجذر أو في الأدلة الفرعية، بالصيغة التالية:
| إزاحة البايت | طول | وصف | |||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0x00 | 8 | اسم ملف DOS (مضاف إليه مسافات) يمكن أن يحتوي البايت الأول على القيم الخاصة التالية:
| |||||||||||||||||||||||||||
| 0x08 | 3 | امتداد ملف DOS (مُضاف إليه مسافات، وقد يكون فارغًا) | |||||||||||||||||||||||||||
| 0x0b | 1 | سمات الملف يمكن أن يحتوي البايت الأول على القيم الخاصة التالية:
يتم استخدام قيمة السمة 0x0F لتحديد إدخال اسم ملف طويل. | |||||||||||||||||||||||||||
| 0x0c | 1 | محجوز؛ يستخدم نظام التشغيل NT والإصدارات اللاحقة بتين لترميز معلومات الحالة. | |||||||||||||||||||||||||||
| 0x0d | 1 | إنشاء الوقت، دقة عالية: وحدات 10 مللي ثانية ، القيم من 0 إلى 199. | |||||||||||||||||||||||||||
| 0x0e | 2 | إنشاء الوقت. يتم ترميز الساعة والدقيقة والثانية وفقًا للخريطة النقطية التالية:
لاحظ أن الثواني تُسجل بدقة تصل إلى ثانيتين فقط . تتوفر دقة أعلى لإنشاء الملفات عند الإزاحة 0x0d. | |||||||||||||||||||||||||||
| 0x10 | 2 | تاريخ الإنشاء. يتم ترميز السنة والشهر واليوم وفقًا للخريطة النقطية التالية:
| |||||||||||||||||||||||||||
| 0x12 | 2 | تاريخ آخر وصول؛ انظر الإزاحة 0x10 للاطلاع على الوصف. | |||||||||||||||||||||||||||
| 0x14 | 2 | مؤشر EA (المستخدم بواسطة نظامي التشغيل OS/2 و NT) في نظامي الملفات FAT12 و FAT16، أعلى بايتين من رقم المجموعة الأولى في نظام الملفات FAT32 | |||||||||||||||||||||||||||
| 0x16 | 2 | آخر وقت تم تعديله؛ انظر الإزاحة 0x0e للوصف. | |||||||||||||||||||||||||||
| 0x18 | 2 | تاريخ آخر تعديل؛ انظر الإزاحة 0x10 للاطلاع على الوصف. | |||||||||||||||||||||||||||
| 0x1a | 2 | أول مجموعة في نظامي الملفات FAT12 و FAT16. أقل بايتين من أول مجموعة في نظام الملفات FAT32. | |||||||||||||||||||||||||||
| 0x1c | 4 | حجم الملف |
العمل مع أسماء الملفات القصيرة في موجه الأوامر
قد يكون من المستحسن أحيانًا تحويل اسم ملف طويل إلى اسم ملف قصير، على سبيل المثال عند العمل مع موجه الأوامر. يمكن اتباع بعض القواعد البسيطة للحصول على اسم الملف الصحيح في الإصدار 8.3.
- يمكن أن يتكون اسم ملف SFN من 8 أحرف كحد أقصى قبل النقطة. إذا تجاوز هذا العدد، فيجب كتابة الأحرف الستة الأولى، ثم علامة المد (~)
~كحرف سابع، ورقم (عادةً 1) كحرف ثامن. يميز هذا الرقم الملف عن الملفات الأخرى التي تحمل نفس الأحرف الستة الأولى ونفس الامتداد. - تُعدّ النقاط مهمة ويجب استخدامها حتى في أسماء المجلدات (إذا احتوى اسم المجلد على نقطة). إذا احتوى اسم الملف/المجلد الطويل على نقاط متعددة، تُستخدم النقطة الأخيرة فقط، وتُتجاهل النقاط التي تسبقها. إذا تجاوز عدد الأحرف ثلاثة بعد النقطة الأخيرة، تُستخدم الأحرف الثلاثة الأولى فقط.
- عمومًا:
- يجب تجاهل أي مسافات في أسماء الملفات عند التحويل إلى صيغة SFN.
- تجاهل جميع النقاط باستثناء الأخيرة. لا تُضِف أي نقاط أخرى، تمامًا كما تفعل مع المسافات. استخدم النقطة الأخيرة إن وُجدت، ثم الأحرف التالية (حتى 3 أحرف). على سبيل المثال، بالنسبة لملف .manifest، يُستخدم .man فقط.
- يتم تغيير الفواصل والأقواس المربعة والفواصل المنقوطة وعلامات = و+ إلى شرطات سفلية.
- لا يهم حالة الأحرف؛ فالأحرف الكبيرة والصغيرة تُعامل على قدم المساواة.
للتأكد من أسماء الملفات في دليل ما، سواء كانت SFN أو 8.3
الاستخدام: dir /xيعرض الأسماء المختصرة إن وجدت، والأسماء الطويلة.
أو: dir /-nيعرض فقط الأسماء المختصرة، بتنسيق قائمة الدليل الأصلي.
في أنظمة التشغيل المستندة إلى ويندوز إن تي ، يقبل تطبيق موجه الأوامر ( cmd.exe ) أسماء الملفات الطويلة التي تحتوي على أحرف بدل (علامة استفهام ?ونجمة *)؛ أما أسماء الملفات الطويلة التي تحتوي على مسافات فيجب وضع علامة هروب (أي إحاطتها بعلامات اقتباس مفردة أو مزدوجة). [ 12 ]
بدءًا من نظام التشغيل Windows Vista ، تقوم أوامر وحدة التحكم وتطبيقات PowerShell الصغيرة بمطابقة الأنماط المحدودة من خلال السماح باستخدام الأحرف البديلة في أسماء الملفات وكل دليل فرعي في مسار الملف واستبدال إدخال الدليل الأول المطابق بصمت (على سبيل المثال، سيؤدي ذلك إلى تغيير الدليل الحالي إلى ).C:\>CD \prog*\inter*C:\Program Files\Internet Explorer\
انظر أيضاً
مراجع
- 1 2 "كيفية تعطيل إنشاء الأسماء في الإصدار 8.3 على أقسام NTFS" . مايكروسوفت . تم الاطلاع عليه بتاريخ 26-02-2021 .
- ↑ "دالة GetShortPathName" . MSDN . مؤرشفة من الأصل بتاريخ 2015-10-01 . تم الاطلاع عليها بتاريخ 2014-09-15 .
- ↑ "كيفية الحصول على اسم ملف مختصر من اسم ملف طويل" . مايكروسوفت . تم الاطلاع عليه بتاريخ 26-02-2021 .
- ↑ "كيف يقوم نظام التشغيل Windows بإنشاء أسماء الملفات 8.3 من أسماء الملفات الطويلة" . مايكروسوفت.
- ↑ غالڤين، توماس (9 يونيو 2015). "قصة اسمي ملفين" . tomgalvin.uk . مؤرشف من الأصل بتاريخ 25 أغسطس 2023. تم الاطلاع عليه بتاريخ 17 أكتوبر 2022 .
- ↑ "ملخص مايكروسوفت في سطر واحد" .
- ↑ "كيف يمكن منع الأمر "del *.tmp" من حذف ملفات *.tmpl باستخدام cmd.exe؟" . superuser .
- ↑ "dir.c\fat\fs - kernel/git/torvalds/linux.git - شجرة مصدر نواة لينكس" . git.kernel.org . تم الاطلاع عليه بتاريخ 25-06-2018 .
- ↑ "mount(8): mount filesystem – صفحة دليل لينكس" .
- ↑ "DOSLFN" .
- ↑ أندرياس بروير (26-12-2007). "مدخل الدليل" . نظام ملفات FAT . تم الاسترجاع في 30-07-2013 .
- ↑ "استخدام أسماء الملفات الطويلة" . 11 سبتمبر 2008.
- أسماء الملفات
- تقنية CP/M
- تقنية DOS
