سؤال

سأل أحد المستخدمين عن سبب عدم دعم تطبيقي في أسماء الملفات. لقد تجولت عبر الكود الخاص بي ، ويبدو أن Windows GetOpenFilename يقتطع أي اسم ملف يحتوي على شبه كولون. على سبيل المثال "واحد ؛ two.wav" -> "واحد".

تقول Microsoft إن الكولونز غير مسموح به ، لكن لا تذكر نصف الكولون ...

http://msdn.microsoft.com/en-us/library/AA365247(VS.85).aspx

هل هم قانونيون أم لا؟

تحرير: .. وكيفية getOpenfilename () للعمل مع شبه كولونس في اسم الملف؟

أوه! ، غريب - اسم الملف صحيح ، باستثناء "تم التمرير" إلى اليسار. لذا ، يبدو "واحد ؛ Two.wav" مثل "Two.wav" حتى أنقر عليه واضغط على الجاري الأيسر (ثم إنه جيد). لذلك ليس خطأ على هذا النحو ، فقط سلوك غريب.

هل كانت مفيدة؟

المحلول

Semicolons قانونية في مسارات ملفات NTFS.

استخدم أي حرف في صفحة التعليمات البرمجية الحالية للحصول على اسم ، بما في ذلك أحرف Unicode والأحرف في مجموعة الأحرف الموسعة (128-255) ، باستثناء ما يلي:

الأحرف المحجوزة التالية:

  • <(أقل من)
  • (أكثر من)

  • : (القولون)
  • " (اقتباس مزدوج)
  • / (مائل)
  • (backslash)
  • | (الشريط العمودي أو الأنابيب)
  • ؟ (علامة استفهام)
  • (العلامة النجمية)
  • قيمة عدد صحيح الصفر ، يشار إليها أحيانًا باسم حرف ASCII NUL.
  • الأحرف التي تكون تمثيلها الصحيح في النطاق من 1 إلى 31 ، باستثناء التدفقات البديلة حيث يُسمح بهذه الأحرف.
  • أي حرف آخر لا يسمح به نظام الملفات المستهدف.

أنا قادر على إضافة Samicolons إلى أسماء الملفات على نظام Win7 الخاص بي. راقب الكود ، على الأرجح لك أو رمز الطرف الثالث ، وهذا يفعل أشياء غريبة بأحرف غير متوقعة (أبرز المساحات).

نصائح أخرى

على الرغم من أنه قد يتم حذفه في كتيب Windows ، إلا أن Semicolon هو شخصية محجوزة أيضًا ، على سبيل المثال "Dir ..BAK "أمر قانوني. ينطبق الشيء نفسه على الحرف Plus ، على سبيل المثال" copy test1.dat+test2.dat test3.dat "أمر قانوني.

TRUE: يسمح Windows بنويكولون في أسماء الملفات. ولكن عندما تحرق هذه الملفات إلى قرص بيانات أو قرص DVD ، يتم اقتطاع الأسماء. هذا لقد واجهت عند استخدام إصدار Nero 9.

نعم ، يسمح لهم. فقط إذا كنت تقوم بتشغيلها في سطر الأوامر ، فعليك وضع علامات اقتباس داخلها.

نعم. نصف اللون هو شخصية قانونية في اسم ملف Windows. لن يفاجئني ذلك ، إذا كانت هناك برامج أخرى واجهت مشكلة معهم.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top