जवाबों:
अधिकतम पथ लंबाई (MSDN से)
विंडोज एपीआई में (निम्नलिखित पैराग्राफ में चर्चा किए गए कुछ अपवादों के साथ), एक पथ के लिए अधिकतम लंबाई MAX_PATH है, जिसे 260 वर्णों के रूप में परिभाषित किया गया है । एक स्थानीय पथ को निम्न क्रम में संरचित किया गया है: ड्राइव लेटर, कोलन, बैकस्लैश, बैकस्लैश द्वारा अलग किए गए घटक और एक समाप्ति नल वर्ण। उदाहरण के लिए, ड्राइव D पर अधिकतम पथ "D: \ <कुछ 256 वर्ण पथ स्ट्रिंग> <NUL>" है जहां "" <NUL> "वर्तमान सिस्टम कोडपेज के लिए अदृश्य समाप्ति शून्य वर्ण का प्रतिनिधित्व करता है। (वर्ण <> यहां दृश्य स्पष्टता के लिए उपयोग किए जाते हैं और मान्य पथ स्ट्रिंग का हिस्सा नहीं हो सकते।)
XP फ़ाइल पथ- 250 अक्षर
विस्टा फ़ाइल पथ - 260 वर्ण
Windows XP की एक साफ स्थापना पर सबसे लंबा रास्ता 152 वर्णों का है।
Windows Vista की एक सेमी-क्लीन इंस्टाल पर सबसे लंबा रास्ता 195 अक्षरों का है:
Windows XP लंबाई में 255 वर्णों तक फ़ाइल नाम की अनुमति देता है
विंडोज विस्टा 260 वर्णों तक के लंबे फ़ाइलनाम को भी अनुमति देता है।
Windows स्थिरांक MAX_PATH
260 के बराबर है क्योंकि अन्य उत्तर कहते हैं, हालांकि, वास्तविक सबसे लंबा पथ 32767 है।
देखें यहाँ ।
32k UNICODE का उपयोग करते समय है, लेकिन अब हमें इसका उपयोग करना चाहिए, इसलिए हमें ऐसी अधिकतम पथ लंबाई का भी उपयोग करना चाहिए।
इसके अलावा, आप एसओ में मेरे उत्तर पर एक नज़र डाल सकते हैं जो अधिकतम पथ लंबाई के बारे में अधिक विस्तृत कुछ बातें समझाता है।
"क्लासिक" सीमा है 260 अक्षर: drive letter
+ :\
+ 255 characters of filename
+ \
(या गोलाई के लिए) + null terminator
के रूप में अन्य उत्तर में कहा
हालाँकि वास्तविक आंतरिक सीमा 32767 वर्ण है जिसे पूर्ण रूप से योग्य पथ\\?\
प्राप्त करने के लिए जोड़कर प्राप्त किया जा सकता है
विंडोज एपीआई में कई कार्य हैं जिनमें 32,767 वर्णों की अधिकतम पथ लंबाई के लिए विस्तारित-लंबाई पथ की अनुमति देने के लिए यूनिकोड संस्करण भी हैं। इस प्रकार का पथ बैकस्लैश द्वारा अलग किए गए घटकों से बना है, प्रत्येक फ़ंक्शन के
lpMaximumComponentLength
पैरामीटर में दिए गएGetVolumeInformation
मान तक (यह मान आमतौर पर 255 वर्ण है)। विस्तारित-लंबाई पथ निर्दिष्ट करने के लिए,"\\?\"
उपसर्ग का उपयोग करें । उदाहरण के लिए,"\\?\D:\very long path"
।
तो कारण कुछ कारणों पूरी तरह से योग्य पथ तो गहरी निर्देशिका के साथ एक ड्राइव अक्षर को बढ़ते द्वारा पहुँचा जा सकता है नहीं किया जा सकता करने के लिए subst
/ diskpart
या एक बनाने के द्वारा जंक्शन / सिमलिंक पथ छोटा करने के लिए
विंडोज 10 के बाद से MAX_PATH
सीमा भी हटा दी गई है, हालांकि डिफ़ॉल्ट रूप से नहीं
विंडोज 10 में शुरू, संस्करण 1607,
MAX_PATH
सामान्य Win32 फ़ाइल और निर्देशिका फ़ंक्शन से सीमाएं हटा दी गई हैं। हालाँकि, आपको नए व्यवहार के लिए ऑप्ट-इन करना होगा।https://docs.microsoft.com/en-us/windows/desktop/FileIO/naming-a-file