यदि आपने कभी इस समस्या को देखा है, तो यह शायद आपके लिए एक सरल सुधार था। यदि आपने इस त्रुटि को दो बार से अधिक देखा है, तो आप यह भी जानते हैं कि यह कभी-कभी एक जटिल समस्या हो सकती है।
आशा करते हैं कि आप केवल आसान सुधार वाली किस्म का सामना करते हैं, लेकिन हम आपको कम आसान, गारंटीकृत कार्य करने वाले सुधारों के लिए भी तैयार करेंगे।
Windows में फ़ाइलनाम लंबाई एक मुद्दा क्यों है?
Windows जैसे ऑपरेटिंग सिस्टम के लिए फ़ाइलनाम लंबाई एक समस्या होने का एक लंबा इतिहास रहा है। एक समय था जब आप 8 वर्णों से अधिक लंबे फ़ाइलनाम नहीं रख सकते थे और साथ में 3-वर्ण का फ़ाइल एक्सटेंशन। सबसे अच्छा आप myresume.doc जैसा कुछ कर सकते थे। यह फ़ाइल सिस्टम के डिजाइन द्वारा लगाया गया एक प्रतिबंध था।
Windows के नए संस्करण आने के साथ चीजें बेहतर हुईं। हम एक पुराने, सीमित, फ़ाइल सिस्टम से न्यू टेक्नोलॉजी फ़ाइल सिस्टम (NTFS) नामक किसी चीज़ पर गए। NTFS हमें उस बिंदु पर ले गया जहां एक फ़ाइलनाम 255 वर्णों तक लंबा हो सकता था, और फ़ाइल पथ लंबाई संभावित रूप से 32,767 वर्णों तक जा सकती थी। तो हमारे पास फ़ाइलनाम कैसे हो सकते हैं जो बहुत लंबे हैं?
Windows में सिस्टम वेरिएबल्स के रूप में जानी जाने वाली चीजें हैं। ये वे वेरिएबल हैं जिन पर Windows कार्य करने के लिए निर्भर करता है, क्योंकि Windows हमेशा जानता होगा कि वेरिएबल का क्या अर्थ है और वे कहां हैं, तब भी जब हम बिट्स और बाइट्स को हर जगह ले जा रहे हों। सिस्टम वेरिएबल MAX_PATH वह है जो फ़ाइलनाम और फ़ाइल पथ को 260 वर्णों से कम तक सीमित करता है।
एक वेरिएबल होने के नाते, आप सोचेंगे कि हम इसे बदल सकते हैं। नहीं, हमें नहीं बदलना चाहिए। यह स्वेटर से एक धागा खींचने जैसा होगा। जैसे ही एक सिस्टम वेरिएबल बदलता है, उन पर निर्भर अन्य सिस्टम वेरिएबल और घटक उधड़ने लगते हैं।
हम इसे कैसे ठीक करते हैं, तो?
आसान सुधार
यदि आप भाग्यशाली हैं, तो आपको त्रुटि मिलेगी और पता चल जाएगा कि कौन सी फ़ाइल का नाम समस्या पैदा कर रहा है। या कम से कम फ़ाइल कहां मिलेगी। शायद आपके पास एक फ़ाइलनाम है जो कुछ इस तरह दिखता है:
C:\User\guymc\Documents\My Resumesresumewithanamesolongthatitcausesproblemsandbecomespartofsomeguysarticleonthewebhowdoyoulikemenow.docx
इस मामले में अपराधी स्पष्ट है। फ़ाइल को Windows Explorer में ढूंढें, या Windows 10 में इसे File Explorer कहा जाता है, उस पर एक बार क्लिक करें, नाम बदलने के लिए F2 दबाएं, और उस मूर्खतापूर्ण फ़ाइलनाम को कुछ अधिक उचित में बदलें। समस्या हल।
कम आसान सुधार
यह समस्या ठीक करना हमेशा इतना आसान नहीं होता। कभी-कभी आप किसी भी कारण से फ़ाइलों या निर्देशिकाओं के नाम बदलने में सक्षम नहीं हो सकते हैं।
निम्नलिखित समाधान आपके लिए काम करेंगे। उन्हें करना कठिन नहीं है।
PowerShell का उपयोग करके फ़ाइलों या निर्देशिकाओं को ले जाएं, हटाएं, या कॉपी करें
कभी-कभी आपको फ़ाइलों या निर्देशिकाओं को स्थानांतरित करने, हटाने, या कॉपी करने का प्रयास करते समय त्रुटि मिलती है जहां फ़ाइल पथ के लिए वर्ण संख्या 260 से अधिक होती है।
ध्यान दें कि निर्देशिका और फ़ोल्डर शब्द विनिमेय हैं। हम आगे 'निर्देशिका' का उपयोग करेंगे। निम्नलिखित PowerShell cmdlets का उपयोग फ़ाइलों पर भी किया जा सकता है।
शायद फ़ाइल पथ कुछ इस तरह दिखता है:
C:\Users\guymc\Documents\This\Is\Exactly\The\Precise\Directory\Path\That\I\Need\To\Have\To\Keep\My\Files\Sorted\In\A\Manner\That\Makes\Sense\To\Me\So\Lets\Pretend\This\Is\An\Actual\Filepath\That\You\Might\Also\Have\On\Your\Windows\Computer\And\Not\Over\Think\It\Document.docx
वह फ़ाइल पथ 280 वर्ण लंबा है। इसलिए हम सामान्य कॉपी-पेस्ट विधि का उपयोग करके निर्देशिका को वहां से कहीं और कॉपी नहीं कर सकते। हमें Destination Path Too Long त्रुटि मिलती है।
आइए मान लें कि किसी भी कारण से, हम उन निर्देशिकाओं के नाम नहीं बदल सकते जिनमें फ़ाइल नेस्टेड है। हम क्या करते हैं?
PowerShell खोलें। यदि आपने अभी तक PowerShell का उपयोग नहीं किया है, तो होम यूजर्स के लिए PowerShell का उपयोग - एक शुरुआती गाइड पर हमारा लेख पढ़ें। आप लेख पढ़े बिना अगले चरण कर सकते हैं, हालांकि।
जब PowerShell खुलता है, तो आप अपने यूजर डायरेक्टरी के रूट पर होंगे। C:\Users\guymc आपकी यूजर डायरेक्टरी है यह मानकर साथ चलें।
This नामक निर्देशिका Documents निर्देशिका के अंदर है। Documents निर्देशिका में जाने के लिए, हम DOS कमांड cd Documents का उपयोग करते हैं।
आप प्रॉम्प्ट को C:\Users\guymc\Documents में बदलते देखेंगे। यह अच्छा है। हम उन निर्देशिकाओं के करीब काम कर रहे हैं जिससे चीजें आसान हो जाएंगी।
Copy-Item का उपयोग करके निर्देशिका कॉपी करें
हम निर्देशिका This और उसकी सामग्री को ThatNewFolder में कॉपी करना चाहते हैं। आइए पैरामीटर्स -Destination और -Recurse के साथ PowerShell cmdlet Copy-Item का उपयोग करें।
-Destination PowerShell को बताता है कि हम कॉपी को कहां चाहते हैं। -Recurse PowerShell को अंदर की सभी वस्तुओं को गंतव्य पर कॉपी करने के लिए कहता है। कॉपी करने से मूल वहीं रहते हैं और गंतव्य में सभी नए बनते हैं।
Copy-Item This -Destination ThatNewFolder -Recurse
Move-Item का उपयोग करके निर्देशिका ले जाएं
मान लें कि हम निर्देशिका This, और उसमें सभी निर्देशिकाओं और फ़ाइलों को ThatNewFolder में ले जाना चाहते हैं। मूव करने से मूल स्थान पर नहीं रहता।
हम पैरामीटर्स -Path और -Destination के साथ PowerShell cmdlet Move-Item का उपयोग कर सकते हैं। -Path वह आइटम परिभाषित करता है जिसे हम ले जाना चाहते हैं और -Destination PowerShell को बताता है कि हम इसे कहां चाहते हैं।
Cmdlet This को ThatNewFolder के अंदर रखेगा। यह This निर्देशिका के अंदर की हर चीज को भी ले जाएगा। Move-Item का उपयोग फ़ाइलों या निर्देशिकाओं को स्थानांतरित करने के लिए किया जा सकता है, और यह फ़ाइल पथ या फ़ाइलनाम लंबाई की परवाह किए बिना काम करता है।
Move-Item -Path This -Destination ThatNewFolder
यह सुनिश्चित करने के लिए कि यह काम किया, cd ThatNewFolder कमांड का उपयोग करके ThatNewFolder में जाएं। फिर dir कमांड का उपयोग करके ThatNewFolder में निर्देशिकाओं को सूचीबद्ध करें। आप देखेंगे कि This निर्देशिका वहां है।
Remove-Item का उपयोग करके निर्देशिका हटाएं
यदि हम This निर्देशिका, और उसमें सब कुछ हटाना चाहते हैं, तो हम Remove-Item cmdlet का उपयोग करते हैं।
Remove-Item cmdlet में कुछ अंतर्निहित सुरक्षा है जो इसे अंदर की चीजों के साथ एक निर्देशिका को हटाना मुश्किल बनाती है। हमारे उदाहरण में, हम जानते हैं कि हम सब कुछ हटाना चाहते हैं, इसलिए हम पैरामीटर्स -Recurse का उपयोग करेंगे ताकि यह अंदर की हर चीज को हटा दे और -Force ताकि यह अंदर की हर वस्तु के लिए हमसे पूछे बिना ऐसा करे कि क्या हम निश्चित हैं।
चेतावनी! इस तरह हटाई गई किसी भी चीज को पुनर्प्राप्त करना अत्यंत कठिन होगा। आप How to Recover Accidentally Deleted Files में विधियों को आजमा सकते हैं, लेकिन ज्यादा उम्मीद न करें।
Remove-Item This -Recurse -Force
यह सुनिश्चित करने के लिए फिर से dir कमांड का उपयोग कर सकते हैं कि यह चली गई है।
Windows 10 को लंबे फ़ाइल पथ स्वीकार करने के लिए बनाएं
यदि आप जानते हैं कि आप बार-बार लंबे फ़ाइल पथ और लंबे फ़ाइलनाम का उपयोग करने जा रहे हैं, तो Windows को अपने लिए काम करने के लिए बनाना आसान है। हर दिन काम करने के लिए PowerShell का उपयोग करने का कोई मतलब नहीं।
यह करने के दो तरीके हैं। एक Windows 10 Home उपयोगकर्ताओं के लिए है और दूसरा Windows 10 Pro या Enterprise उपयोगकर्ताओं के लिए। ये विधियां Windows 8.1 या पहले के लिए काम कर सकती हैं, लेकिन हम इसकी गारंटी नहीं दे सकते।
Windows 10 Home को लंबे फ़ाइल पथ स्वीकार करने के लिए बनाएं
Windows 10 Home को लंबे फ़ाइल पथ स्वीकार करने के लिए, हमें Registry Editor खोलने की आवश्यकता है। यदि आपने पहले Registry Editor में काम नहीं किया है, तो सावधान रहें। यहां गलती से चीजों को डिलीट या बदलने से Windows पूरी तरह से काम करना बंद कर सकता है।
कोई भी बदलाव करने से पहले हमेशा अपनी रजिस्ट्री का बैकअप लें। हमारी अल्टीमेट गाइड टू बैकिंग अप एंड रिस्टोरिंग द Windows रजिस्ट्री में इसके बारे में वह सब कुछ जानें जो आपको जानने की जरूरत है।
एक बार जब आप रजिस्ट्री एडिटर खोल लेते हैं, और अपना बैकअप बना लेते हैं, तो स्थान HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem पर नेविगेट करें और कुंजी LongPathsEnabled ढूंढें।
LongPathsEnabled पर डबल-क्लिक करें। Value data: फ़ील्ड में, सुनिश्चित करें कि संख्या 1 है। बदलाव को कमिट करने के लिए OK पर क्लिक करें।
रजिस्ट्री एडिटर से बाहर निकलें और अब आप क्रेजी लंबे फ़ाइल पथ के साथ काम करने में सक्षम होना चाहिए।
Windows 10 Pro या Enterprise को लंबे फ़ाइल पथ स्वीकार करने के लिए बनाएं
Windows 10 Pro या Enterprise को लंबे फ़ाइल पथ उपयोग करने की अनुमति देने के लिए, हम Group Policy Editor का उपयोग करने जा रहे हैं। यह एक ऐसा टूल है जो हमें कंप्यूटर और उपयोगकर्ता स्तर पर Windows के संचालन पर नीतियां सेट करने की अनुमति देता है।
हमारे पास ग्रुप पॉलिसी का उपयोग करके इंटरनेट एक्सप्लोरर विकल्पों को अक्षम या सक्षम करने, या लॉगऑन स्क्रीन पर संदेश जोड़ने जैसे काम करने पर कई लेख हैं।
Start मेनू पर जाकर और gpedit टाइप करके ग्रुप पॉलिसी एडिटर खोलें। शीर्ष परिणाम Edit group policy होना चाहिए। उस पर डबल-क्लिक करें।
एक बार ग्रुप पॉलिसी एडिटर खुलने पर, Computer Configuration > Administrative Templates > System > Filesystem पर नेविगेट करें। वहां आपको नीति Enable Win32 long paths दिखाई देगी।
इसे एडिट करने के लिए डबल-क्लिक करें। इसे Disabled से Enabled में बदलें, फिर बदलाव को कमिट करने के लिए OK बटन पर क्लिक करें।
नीति तुरंत प्रभावी नहीं हो सकती। हालांकि, आप ग्रुप पॉलिसी को अपडेट करने के लिए बाध्य कर सकते हैं।
बस इतना ही
लंबे फ़ाइलनाम और फ़ाइल पथ के आसपास काम करने के कुछ अन्य तरीके हैं, लेकिन हमने यहां जो कवर किया है वे सबसे सरल, सबसे प्रभावी तरीके हैं।