बस एक ऐसी ट्रिक का जिक्र कर रहा हूं जिसका जिक्र यहां नहीं है।
इस फ़ाइल को उदाहरण के लिए लें:
C:\Folder1\Really Long Path\Such Recursion\So Deep\Wow\Still Going\I will run out of ideas soon\I have organizational problems\Obsessive compulsive subdirectory disorder\Here is a guid for no good reason\936DA01F-9ABD-4d9d-80C7-02AF85C822A8\Almost there\Tax Returns\2013\2013_tax_return.pdf
यह पूर्ण फ़ाइल पथ 290 वर्ण लंबा है। शेल (विंडोज एक्सप्लोरर) और अधिकांश कमांड लाइन उपयोगिताओं शायद आपको इसे छूने नहीं देंगे।
subst
कमांड का उपयोग करें जैसे:
subst X: "C:\Folder1\Really Long Path\Such Recursion\So Deep\Wow"
अब आप फ़ाइल को एक्सेस (और डिलीट, मूव वगैरह) कर सकते हैं।
X:\Still Going\I will run out of ideas soon\I have organizational problems\Obsessive compulsive subdirectory disorder\Here is a guid for no good reason\936DA01F-9ABD-4d9d-80C7-02AF85C822A8\Almost there\Tax Returns\2013\2013_tax_return.pdf
और अब उस फ़ाइल का नाम केवल ~ 235 अक्षर या तो है, इसलिए आपको "फ़ाइल नाम बहुत लंबा है" समस्याओं का सामना नहीं करना पड़ेगा।
विंडोज एपीआई में, एक बदनाम स्थिरांक है जिसे कहा जाता है MAX_PATH
। MAX_PATH 260 वर्ण है। NTFS फ़ाइल सिस्टम वास्तव में 32,767 वर्णों के फ़ाइल पथ का समर्थन करता है। और आप अभी भी Windows API फ़ंक्शंस के यूनिकोड (या "विस्तृत") संस्करणों तक पहुंचकर 32,767 वर्ण लंबे पथ नामों का उपयोग कर सकते हैं, और इसके साथ पथ को प्रीफ़िक्स करके भी \\?\
।
MAX_PATH
विंडोज दुनिया में बहुत पहले पत्थर में सेट किया गया था । मुझे लगता है कि उस समय एएनएसआई मानकों के साथ कुछ करना है ... लेकिन यह उन चीजों में से एक है जो माइक्रोसॉफ्ट के लिए अब बदलना बहुत मुश्किल है, क्योंकि अब हमारे पास हजारों प्रोग्राम और एप्लिकेशन हैं, जिनमें कुछ माइक्रोसॉफ्ट द्वारा स्वयं लिखे गए हैं, जो उपयोग करते हैं MAX_PATH
और अजीब नए तरीकों से विफल हो जाता है यदि निरंतर को अचानक बदल दिया जाता। (बफर ओवरफ्लो, ढेर भ्रष्टाचार, आदि)