9

कुछ शोध के बाद, मुझे पता चला कि length limits नामों के लिए 255 हैं और मूल्य 32767 वर्ण हैं।विंडोज वातावरण परिवर्तनीय नामों और मानों के लिए मान्य वर्ण क्या हैं?

लेकिन नाम के लिए कौन से पात्रों की अनुमति है?
और मूल्य के लिए कौन से पात्रों की अनुमति है?

उत्तर

13

परिवर्तनीय मानों के बारे में: आप अधिकतर अक्षरों को सफेद स्थान सहित परिवर्तनीय मानों के रूप में उपयोग कर सकते हैं। यदि आप विशेष वर्ण <,>, |, &, या^का उपयोग करते हैं, तो आपको उन्हें बचने वाले वर्ण (^) या उद्धरण चिह्नों से पहले अवश्य करना होगा। यदि आप उद्धरण चिह्नों का उपयोग करते हैं, तो उन्हें मूल्य के हिस्से के रूप में शामिल किया जाता है क्योंकि समान चिह्न के बाद सबकुछ मूल्य के रूप में लिया जाता है।

http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/ntcmds_shelloverview.mspx?mfr=true

चेक अनुभाग "वातावरण चर सेट करना"।

परिवर्तनीय नामों के बारे में: मेरी राय में, प्रत्येक एप्लिकेशन के साथ सर्वोत्तम संगतता के लिए, आपको अपने आप को अक्षरों, संख्याओं, अंडरस्कोर (_) और शून्य (-) तक सीमित करना चाहिए।

मुझे पूरा यकीन है कि फ़ाइलों के लिए सभी POSIX मान्य वर्ण ठीक हैं, लेकिन मुझे इसका कोई सबूत नहीं मिला।


चर नाम के नाम हम भी %ProgramFiles(x86)% के बाद से कोष्ठक स्वीकार करने की जरूरत के संबंध में एक प्रसिद्ध envar है। मेरे प्रयोगों से ऐसा लगता है कि अक्षरों और अंकों के पात्रों के अलावा, ये वर्ण _(){}[]$*+-\/"#',;[email protected]!? मान्य हैं और ये वर्ण %<>^&|=: मान्य नहीं हैं।

मैंने एक संपूर्ण खोज नहीं की लेकिन केवल सबसे आम गैर अल्फान्यूमेरिक वर्णों का परीक्षण किया।

और तुम एक envar %_(){}[]$*+-\/"#',;[email protected]!?% नाम कर सकते हैं सिर्फ मनोरंजन के लिए:

C:\>set _(){}[]$*+-\/"#',;[email protected]!?=xyz 

C:\>echo %_(){}[]$*+-\/"#',;[email protected]!?% 
xyz 
0

यह <>^&| की तरह लगता है मान्य वर्ण, जब तक कि वे सही तरीके से छोड़े जाते हैं भी कर रहे हैं:

C:\>set ^<^>^^^&^|=xyz 

C:\>echo %<>^&|% 
xyz 
संबंधित मुद्दे