विंडोज में फ़ाइल को बहुत लंबे फ़ाइल नाम से कैसे हटाएं? [डुप्लिकेट]


202

मेरी पत्नी के पास कई फाइलें और फोल्डर हैं, जो किसी भी तरह से उन फाइलनामों को समाप्त कर देते हैं जिनके कारण वे सामान्य साधनों या कमांड लाइन के माध्यम से अपरिवर्तनीय (हटाए नहीं जा सकते) हैं। मेरा मानना ​​है कि फ़ाइलनाम फ़ोल्डर संरचनाओं की गहराई के कारण बहुत लंबे हैं। किसी को भी इस तरह फ़ाइलों को साफ करने के लिए एक अच्छी उपयोगिता का पता है?


ये फाइलें कैसे बनाई गईं?
निक

इस विषय पर मेरी अज्ञानता के लिए क्षमा करें, लेकिन क्या विंडोज़ को इन फ़ाइलों को संभालना नहीं चाहिए? क्या एडिंस को विंडोज (यहां तक ​​कि एक्सप्लोरर से भी) द्वारा स्वचालित रूप से पोस्ट नहीं किया जाएगा?
स्टेफानोस कलंतज़िस

2
@ मोकूबाई- डुप्लिकेट प्रश्न को इस डुप्लिकेट के रूप में चिह्नित किया जाना चाहिए, क्योंकि यह प्रश्न पुराना है
एस्फोटो

1
@cybermonkey: और इसका एक बेहतर जवाब है।
एल्सडिल

आगे के पाठकों के लिए, + के साथ 7zip मेथडCTRLDELETE मेरी राय में सबसे आसान तरीका है ...
क्रिश्चियन गोल्हार्ट

जवाबों:


426

जब आप किसी निर्देशिका को पूरी तरह से हटाना चाहते हैं और इसमें लंबे रास्ते होते हैं, robocopyतो बहुत अच्छा काम करता है:

mkdir empty_dir
robocopy empty_dir the_dir_to_delete /mir
rmdir empty_dir
rmdir the_dir_to_delete

यह काम करता है क्योंकि रोबोकॉपी आंतरिक रूप से फ़ाइल पथों के लिए उपसर्ग के साथ, Win32 फ़ंक्शन के यूनिकोड-जागरूक संस्करणों का उपयोग करता है\\?\ ; उन कार्यों में 259 के बजाय 2¹⁶-1 (32,767) वर्णों की सीमा होती है।

सभी फ़ाइलों से छुटकारा पाने के लिए आपको एक से अधिक बार इस प्रक्रिया से गुजरना पड़ सकता है।


1
फ़ाइल सिस्टम में संग्रहित कोई शोर्टनाम (8.3) नहीं होने पर कुशल।
एंटोनी RODRIGUEZ

1
यह मेरे जिद्दी विंडोज स्टोर कैश फ़ाइलों के साथ अच्छी तरह से काम किया है जिन्हें हटाने से इनकार कर दिया। धन्यवाद!
समीर

1
मुझे इस काम के लिए रोबोकॉपी लाइन में जोड़ना / शुद्ध करना था, लेकिन इसने इसके बाद यह
कारनामा

3
रोबोकॉपी ने मुझे इस झंझट में डाल दिया, लेकिन मुझे इससे बाहर निकालने के लिए रोबोकॉपी का उपयोग करना मेरे लिए कभी नहीं हुआ। बहुत बढ़िया जवाब! धन्यवाद!
जे मिचौड

2
@SarahofGaia, मेरा बुरा, यह 2 1 है - 1 वास्तव में
बेनोइट

91

कमांड प्रॉम्प्ट से:

dir /X

यह संक्षिप्त नाम प्रारूप में आपकी फ़ाइलों / फ़ोल्डरों को सूचीबद्ध करेगा। फिर फ़ाइल को हटाने के लिए लिखे गए संक्षिप्त नाम का उपयोग करें:

del LONGF~1.txt

1
मुझे वह पसंद है, यह पार्श्व सोच का एक अच्छा हिस्सा है।
Col

हालांकि मैं गारंटी नहीं दे सकता कि इस मामले में यह काम करेगा, मैंने कई बार इसका उपयोग उन फ़ोल्डरों को हटाने के लिए किया है जिनके पास अंत में अमान्य वर्ण हैं जो उन्हें सामान्य तरीकों से हटाना असंभव बनाते हैं।
विल एड्डिन्स

1
यह वर्तमान निर्देशिका में फ़ाइलों और फ़ोल्डरों के लिए काम करता है, लेकिन यदि आप किसी तरह अपने आप को एक फ़ोल्डर के अंदर ढूंढने का प्रबंधन करते हैं, जिसका रास्ता बहुत लंबा है, तो यह मदद नहीं करेगा। उदाहरण के लिए, मैं किसी बहुत लंबे रास्ते में एक कंसोल में वर्तमान में हूँ और नहीं भी कर सकते हैं dirया cd ..
बोब्सन

1
यदि आप इसके बजाय dirउपयोग नहीं कर सकते हैं pushd। मेरे लिए यही काम किया।
BadHorsie

4
यह विंडोज 10 के साथ काम नहीं करता है, प्रदर्शित फ़ाइल नाम सबसे लंबा है
Loenix

53

मैं प्रगति पथ पर अपने तरीके से काम करता हूं, प्रत्येक क्रमिक मूल फ़ोल्डर का नाम बदलकर "1" कर देता हूं और हटाने का प्रयास करता हूं। आप प्रभावी रूप से हर बार पथ को छोटा कर रहे हैं और मुझे कभी भी 4 या 5 से अधिक निर्देशिकाओं में काम नहीं करना पड़ा है जब तक कि मैं अंत में पूरी निर्देशिका संरचना को हटाने में सक्षम नहीं हूं (जो आप चाहते हैं या नहीं हो सकता है)। आप इसे पिछले चाइल्ड फ़ोल्डर से भी कर सकते हैं और अपने तरीके से ऊपर या नीचे काम कर सकते हैं।


7
यह केवल एक चीज थी जो मेरे लिए काम करती थी। यहाँ और अन्य मंचों में दिए गए अन्य सभी ट्रिक जैसे कि यह काम नहीं किया।
एंड्रयू अरनोट

केवल एक ही सुझाव था जो काफी अजीब तरह से काम करता था।
नेस्टर लेडोन

यह मेरे लिए काम करता है, एक शॉर्टकट जिसने मेरी मदद की mv * 1 && cd 1। यह तब काम नहीं आया जब कई फाइलें निर्देशिका में थीं लेकिन उस समय rm -rf *आमतौर पर चाल चली।
अलेक्जेंडर वरविज्क

1
विंडोज 10 में ऐसा नहीं कर सकते ... नाम बदलने के लिए "फ़ाइल नाम को लंबी 'त्रुटि
Dawesi

3
न केवल यह मेरे लिए समस्या को ठीक करता है, यह यह भी बताता है कि मैं पहले स्थान पर मुद्दे के साथ कैसे समाप्त हुआ। मेरे पास एक रास्ता होना चाहिए था जो सीमा के पास था, फिर मैंने एक पैरेंट फ़ोल्डर का नाम बदला ("बैकअप Nov 2016 save" जैसे नाम में कुछ जोड़ा) जिसने फाइलों को सीमा से अधिक सबफ़ोल्डर्स में धकेल दिया। कारण के साथ-साथ समाधान को जानने के लिए अच्छा है, हालांकि मुझे पता है कि यह अन्य तरीकों से भी हो सकता है, मुझे लगता है कि यह एक सामान्य तरीका है जो लोगों के लिए होता है।
eselk

13

कमांड प्रॉम्प्ट ( cmd.exe) सहित कुछ कार्यक्रमों में, आप \\.\इस तरह से पूर्ण पथ को उपसर्ग करके फ़ाइल की लंबाई सीमा के आसपास प्राप्त कर सकते हैं :

\\। \ C: \ कुछ निर्देशिका \ अन्य निर्देशिका \ लंबे नाम के साथ एक फ़ाइल

3
विंडोज 10 में काम नहीं करता है
दाविसी

धन्यवाद, cmd ने इसके साथ Win7 में एक काम कियाrm -rf \\directoryname
फिलिप प्राइड

13

एक चाल जिसे मैंने "पूर्ण पथ और फ़ाइल नाम" लंबाई सीमा प्राप्त करने के लिए उपयोग किया है, किसी चीज़ को स्थानांतरित करने, कॉपी करने या हटाने के लिए इसे एक फ़ोल्डर में इंगित किए गए मैप किए गए ड्राइव पत्र का उपयोग करके 'आधे रास्ते से नीचे' (या अधिक) में तोड़ना है। रास्ता नीचे करो

इसलिए आपके पास c: \ some \ long \ path ... \ और \ foo \ bar \ फ़ोल्डर्स \ oldfiles \ myoldfile.txt है।

फिर कहीं के रास्ते पर एक मनमाना ड्राइव लेटर मैप करें ताकि रास्ते का पहला हिस्सा कुछ ही वर्ण लंबा हो जाए। पूर्व-अपेक्षित - फ़ोल्डर एक साझा फ़ोल्डर में होना चाहिए (जो कि यह पहले से ही हो सकता है यदि यह एक सर्वर पर है, जहां मुझे ऐसा करने की आवश्यकता है), और यदि यह पहले से ही नहीं है, तो पथ में कहीं फ़ोल्डर चुनें और इसे साझा करें। अपने पर्यावरण और व्यामोह स्तर के आधार पर, हर किसी को शेयर तक पहुंच को संशोधित करने की अनुमति दें, जब तक कि NTFS अनुमतियाँ यथोचित प्रतिबंधात्मक हों। यदि आप चाहते हैं, तो केवल अपने खाते में ही अधिकारों को संशोधित करने की अनुमति दें।

अब शेयर्ड फोल्डर या उसके अंदर के एक हिस्से में जाएं और इसे शेयर करें, या कमांड लाइन का उपयोग निम्नानुसार करें। आप "फू" के रूप में फ़ोल्डर "फू" साझा करते हैं, तो आप कर सकते हैं

net use x: \\mycomputername\fooshare\bar\folders /persistent:no

और X: ड्राइव अब उस हिस्से के अंदर सीधे फ़ोल्डर "फ़ोल्डर्स" को इंगित करता है, इसलिए "x: \ oldfiles \ myoldfile.txt" अब बहुत छोटा है।

("/ लगातार: नहीं" का अर्थ है कि यह अगले रिबूट से नहीं बचेगा और आपको बाद में भ्रमित कर देगा। जब किया जाए तो अपने फ़ोल्डर को साझा करना न भूलें।)

याद रखें, आपको आवश्यक रूप से फ़ाइल वाले फ़ोल्डर को साझा करने की आवश्यकता नहीं है, अगर यह पहले से ही एक साझा फ़ोल्डर के अंदर है तो आप फ़ाइल के पास एक लक्ष्य फ़ोल्डर के लिए साझा और नेस्टेड फ़ोल्डर के माध्यम से मैप कर सकते हैं और यह ठीक काम करता है।

मुझे दो सर्वरों के बीच बड़े पैमाने पर डकैती करते हुए इस तकनीक का उपयोग करना पड़ा है जब हमने महसूस किया कि उपयोगकर्ताओं ने फ़ोल्डर संरचना में काफी गहराई से मैप किया था, इसलिए वे वहां से 255 वर्णों का उपयोग करने में सक्षम थे, लेकिन यह कुल फ़ाइल पथ लंबाई को पार कर गया था जब स्थानीय ड्राइव रूट से पहुँचा।


4
आप का उपयोग करके साझा करने से बच सकते हैं subst x: C:\Some\first\part\of\the\long\pathऔर बाद में साथ ड्राइव हटानाsubst x: /d
mihi

1
अच्छा प्रयास करें, लेकिन जब आपके पास 10 के k का फ़ोल्डर हो तो यह संभव नहीं है।
जूलियन नाइट

substचाल, अच्छी तरह से काम करने के लिए जब तक फ़ाइल नाम नहीं है लगता है तो लंबे समय से यह भी एक ड्राइव के रूट पर 260 से अधिक अक्षर जाना बनाने के लिए के रूप में।
स्टीफन चुंग

आपको किसी भी फ़ोल्डर को स्पष्ट रूप से साझा करने की आवश्यकता नहीं है net use, आप डिफ़ॉल्ट व्यवस्थापक शेयरों का उपयोग कर सकते हैं:net use x: \\localhost\c$\bar\folders /persistent:no
kapex

9

सबसे आसान तरीका है कि मैं एक ubuntu लाइव सीडी से बूट करना चाहता हूं।

एक विकल्प के रूप में आप एक साझा फ़ोल्डर को आधे रास्ते तक बना सकते हैं और फिर उस पर एक नेटवर्क ड्राइव को मैप कर सकते हैं और मैप किए गए फ़ोल्डर से हटा सकते हैं (यहां तक ​​कि उसी मशीन पर भी)


17
यह मजेदार है कि उबंटू लाइव सीडी कितनी बार विंडोज समस्याओं के निवारण में मदद करेगी ^ ^
Ivo Flipse

1
मैंने देखा है कि अपने आप को, डोडी नेटवर्क एक लाइव सीडी की कोशिश करता है, फाइलसिस्टम समस्या एक लाइव सीडी, भ्रष्ट विभाजन तालिका आदि की कोशिश करता है :-)
Col

यह एकमात्र समाधान है जिसने मेरे लिए काम किया। आई लव यू, लिनक्स! <3
डेविड फ्राइ

1
विंडोज़ से चलाओ चलाओ लिनक्स की आवश्यकता नहीं है। ;-) इसके अलावा अगर आप विंडोज़ 10 चला रहे हैं तो बस "लिनक्स के लिए विंडोज सबसिस्टम" स्थापित करें। मूल रूप से विंडोज़ काम पाने के लिए उबंटू आपी हुक का उपयोग करता है ... बर्तनों सहित "एप्ट, एसएचएस, आरएसक्यूएन, फाइंड, जीआरईपी, ऑक, सेड सॉर्ट, xargs, md5sum, gpg, कर्ल, विग, अपाचे, mysql, पायथन, पर्ल, रूबी, php, जीसीसी, टैर, विम, एमएसीएस, डिफरेंट, पैच, और उबंटू अभिलेखागार में हजारों बाइनरी पैकेज के अधिकांश दसियों! "यह एक पूर्ण लिनक्स विकास का वातावरण है जो बस विंडोज पर चलने वाला होता है। zdnet.com/article/ubuntu-and-bash-arrive-on-windows-10
Dawesi

विंडोज में लिनक्स
लक्स

5

फ़ाइल को कहीं और कट / पेस्ट करने की निर्देशिका का नाम बदलें, फिर हटाएं। यहां काम करता है।

या सिर्फ कमांड प्रॉम्प्ट से, अगर आपको परेशानी से गुजरने का मन नहीं है।


यह एक आकर्षण की तरह काम करता है। वहां खोदो (मेरे लिए, यह सुपर नेस्टेड node_modulesफ़ोल्डर था), इसे अपने डेस्कटॉप पर खींचें और हटा दें। जब आप एक बार में कुछ फ़ोल्डरों को ऊपर उठाते हैं तो रगड़ें और दोहराएं। क्या एक अप्रिय समस्या है।
निकल

7
यह मेरे लिए काम नहीं आया - लंबे फ़ाइल नाम के कारण पेस्ट ऑपरेशन विफल हो गया - इससे कोई फर्क नहीं पड़ता कि इसे कहाँ काटा गया।
१३

1

शायद सबसे अच्छा तरीका नहीं है और मुझे यह देखने में दिलचस्पी है कि दूसरे क्या करते हैं -

मेरे पास यह एक बार था और मैंने कुछ चीजें बिना किसी भाग्य के कोशिश कीं। एक अच्छे उपकरण की तलाश करने के बजाय, मैंने विंडोज डिस्क के साथ पुनः आरंभ किया, रिकवरी कंसोल पर गया और बस वहां से हटा दिया। पहली बार काम किया और वास्तव में अच्छी तरह से!

इसके अलावा, बस आपके लिए एक Google किया और यह पाया - DelinvFile लुक्स अच्छा है लेकिन इसके लिए वाउच नहीं कर सकते।

संपादित करें - चेतावनी, बस ऊपर देखा गया केवल एक परीक्षण है - शायद उतना अच्छा नहीं जितना मैंने पहले सोचा था!


नि: शुल्क रिमफ़र ठीक काम करता है और अन्य सभी विचारों के विफल होने पर काम करता है। इसके लिए नोड्स.जेएस
जूलियन नाइट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.