एक बड़े नाम के साथ फोर्स डिलीट फाइल्स


62

मैं नियमित रूप से मेरे द्वारा लिखे जाने वाले कार्यक्रमों के लिए निर्भरता का प्रबंधन करने के लिए Node.js का उपयोग करता हूं, कोई बड़ी बात नहीं। आज मैं इस तरह एक फ़ोल्डर संरचना के साथ समाप्त हुआ:यहाँ छवि विवरण दर्ज करें

इस त्रुटि के साथ किसी भी फ़ाइल को हटाने की कोशिश की गई:

स्रोत फ़ाइल का नाम फ़ाइल सिस्टम द्वारा समर्थित की तुलना में बड़ा है। उस स्थान पर जाने का प्रयास करें जिसका पथ नाम छोटा है, या इस ऑपरेशन का प्रयास करने से पहले छोटे नाम का नाम बदलने का प्रयास करें।

यह पहले से ही C: \ में था, इसलिए यह बहुत छोटा नहीं था।



क्या आपके पास कोई विचार है कि कैसे आपके फ़ोल्डर की संरचना इस बड़े हो गई जब मैं एक ही स्थिति में आया था जब ग्रंट स्थापित कर रहा था।
एरन ओटेर

1
ner का उपयोग करके @eranotzer।
सियारिया

मैं गलत तरीके से लिखा गया था, जहां आपके संकुल में निर्भरता नहीं था।
एरान ओज़र

@eranotzer हाँ। Npm @ 2 ने कैसे काम किया, इस वजह से, प्रत्येक निर्भरता ने इसके अंदर अपनी निर्भरता को निहित किया। इसका मतलब यह था कि निर्भरता श्रृंखलाएं मनमाने ढंग से लंबी हो सकती हैं। npm @ 3 इस व्यवहार को समायोजित करना चाह रहा है।
सियारिया

जवाबों:


75

Microsoft उपकरण का उपयोग करें robocopy.exe

  1. एक नया खाली फ़ोल्डर बनाएँ, जैसे c:\empty
  2. फिर उस खाली फ़ोल्डर को उस फ़ोल्डर पर कॉपी करें जिसमें लंबे फाइलनाम हैं जिन्हें आप हटाने की कोशिश कर रहे हैं, जैसे c:\myannoyingfolder। कमांड प्रॉम्प्ट में ऐसा करें:

    robocopy / MIR c: \ खाली c: \ myannoyingfolder


चूंकि यह अक्सर मेरे वर्कफ़्लो का हिस्सा होता है, इसलिए मुझे लगा कि इसे विंडोज़ शेल के साथ कैसे एकीकृत किया जाए। नीचे मेरा जवाब देखें। :)
टोडरमो

नोट: इस कमांड को खत्म होने में कुछ सेकंड या मिनट भी लग सकते हैं। तो, चिंता न करें और इसे जादू करने दें :-)
आदिल मलिक

धन्यवाद, मेरे लिए काम किया। मुझे यह सुनिश्चित करना था कि मैंने किसी भी प्रक्रिया (IIS) को मार दिया था जो अभी भी फाइलों में से एक पर टिकी थी।
शिनबोबी

जब भी मैं रोबोकॉपी को खोलने की कोशिश करता हूं। एक विंडो एक सेकंड के लिए चमकती है और फिर कुछ नहीं होता है। कृपया मदद करें
मौलिक मोदी

29

ठीक है, मान लें कि आप किसी पेड़ को हटाना चाहते हैं D:\very\long\path, आपको जरूरी नहीं कि रोबोकॉपी जैसे किसी उपकरण का उपयोग किया जाए।

  1. उस ड्राइव की रूट डायरेक्टरी पर जाएं जिसमें वह डायरेक्टरी है जिसे आप डिलीट नहीं कर सकते
  2. एक एकल नाम के साथ एक निर्देशिका बनाएँ, जैसे D:\a
  3. उस निर्देशिका के अंदर नेविगेट करें जिसे आप हटाना चाहते हैं, इस स्थिति में D:\very\long\path
  4. सभी ( Ctrl+ A) और कट ( Ctrl- X) का चयन करें
  5. आपके द्वारा अभी बनाए गए फ़ोल्डर में नेविगेट करें
  6. पेस्ट ( Ctrl- V)
  7. अब, रूट डायरेक्टरी तक जाएं और इस मामले में अस्थायी फ़ोल्डर को हटा दें D:\a
  8. फिर वापस जाएं और मूल निर्देशिका को हटा दें

2
यह मेरे लिए मेरे लिए पहली कोशिश पर काम नहीं किया। हालाँकि इस प्रक्रिया को दोहराने के बाद मैं कुछ और फ़ोल्डर स्तरों को हटा पाने में सक्षम था।
abaldwin99

1
महान समाधान, निर्दोष रूप से काम किया। सरल और प्रभावी, धन्यवाद!
कनेर 9ncü

महान!! एक जादू की तरह काम करता है!!! कोई अन्य उपकरण की जरूरत है। धन्यवाद!
प्रशांत केसी

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

4

मैंने इस समस्या को टाइप करना शुरू कर दिया है, जिसमें कई कमांड शामिल हैं, ( del /Fऔर rmdir /Sसाथ ही रीसायकल बिन को बायपास करने की कोशिश करते हुए हटाते समय शिफ्ट पकड़ना)। मुझे लगता है कि rmdir /Sवास्तव में सभी फ़ाइलों को हटा दिया गया था इसलिए मैं उन फ़ोल्डरों को हटाने में सक्षम था जो पत्ती नोड्स थे, फिर एक बार में कुछ नोड्स को पेड़ की प्रगति करते हुए। आखिरकार मैंने उन सभी को साफ कर दिया, लेकिन यह हास्यास्पद था।


4

आप इस कार्यक्षमता को विंडोज़ शेल में एकीकृत कर सकते हैं। फ़्लो के उत्तर में मेरी वृद्धि एक टिप्पणी के लिए बहुत लंबी थी।

मैंने Deleteविंडोज संदर्भ मेनू में एक कमांड जोड़ा ।

यहाँ छवि विवरण दर्ज करें

delete.regफ़ाइल के साथ फ़ोल्डरों संबद्ध करने के लिए रजिस्ट्री प्रविष्टियाँ कहते robodelete.batबैच फ़ाइल।

delete.reg

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\Delete]

[HKEY_CLASSES_ROOT\Directory\shell\Delete\command]
"Extended"=""
@="\"D:\\Documents\\robodelete.bat\" \"%1\""

robodelete.bat

mkdir c:\empty
robocopy /MIR c:\empty %1
rmdir %1
rmdir c:\empty

नोट : आपको अपनी पसंद के अनुसार दोनों फाइलों में पथ बदलने की आवश्यकता हो सकती है।

चेतावनी : इस आदेश को पूर्ववत करने का कोई तरीका नहीं है। यह रीसायकल बिन का उपयोग नहीं करता है और वाई / एन को अच्छे के लिए फ़ोल्डर को नष्ट करने से पहले पुष्टि करने के लिए नहीं कहता है!


चेतावनी के लिए धन्यवाद। मुझे अपने वर्कफ़्लो में भी इसकी आवश्यकता है, लेकिन मैं अपने राइट क्लिक मेनू में एक परमाणु बटन होने से बचना चाहूंगा जिसमें वाई / एन की पुष्टि न हो। अगर मुझे समय मिलता है तो मैं उस समायोजन को बनाने के लिए एक शॉट लूंगा और एक संपादन का सुझाव दूंगा।
abaldwin99

1
@ abaldwin99, इस तरह शायद stackoverflow.com/a/1807318/1045881
toddmo

4

SuperDelete ओपन-सोर्स कमांड-लाइन टूल ( GitHub ) ने अन्य विकल्पों के विफल होने (विंडोज 10) के बाद मेरे लिए काम किया।


3

इसका सबसे अच्छा तरीका यह है कि आप रोबोकॉपी का उपयोग करें, मैंने इसे आपके अनुसरण के लिए अपने व्यक्तिगत ब्लॉग पर प्रलेखित किया है:

http://clintboessen.blogspot.com.au/2014/05/how-to-delete-files-which-exceed-255.html


4
हालांकि यह लिंक प्रश्न का उत्तर दे सकता है, लेकिन उत्तर के आवश्यक भागों को शामिल करना और संदर्भ के लिए लिंक प्रदान करना बेहतर है। लिंक-केवल उत्तर अमान्य हो सकते हैं यदि लिंक किए गए पृष्ठ बदल जाते हैं या गायब हो जाते हैं।
एंड्रिया

0

कई मामलों में, कमांड प्रॉम्प्ट से डायरेक्टरी में सीडी डालना और DEL का उपयोग करना काम करेगा।

यदि नहीं, तो आपको अपना नाम UP निर्देशिका ट्री में काम करना होगा: सबसे निचले स्तर के फ़ोल्डर को एक छोटे नाम (जैसे "a") में बदलें, फिर अगला उच्च फ़ोल्डर नाम, और इसी तरह, जब तक कि कुल पथ काफी छोटा न हो जाए। नीचे से ऊपर तक काम करके, आप हमेशा नामों में फेरबदल करते हैं, जिसमें अंतिम फ़ाइलों की तुलना में कम पूर्ण पथ होता है।


0
  • प्रशासनिक कमांड प्रॉम्प्ट खोलें
  • net use z: c:\path
  • del z:\*.*

तदनुसार मोड़। Z: आपत्तिजनक पथ को मैप करने के लिए सिर्फ एक मनमाना ड्राइव लेटर है। वह अंतिम डिलीट कमांड WHOLE डायरेक्टरी को मिटा देगा जिसे आपने मैप किया है - इसलिए आवश्यकतानुसार अधिक विशिष्ट हो।


2
यह नॉन-पावर उपयोगकर्ताओं के लिए बहुत खतरनाक है! गलत होने पर ड्राइव को पोंछने की क्षमता है।
रुडी स्ट्रीडम ०

100% सहमत। निश्चित रूप से इस पर सावधानी से आगे बढ़ें।
ब्रैडली फ़ॉरेन

0

अच्छा तरीका यह है कि pendrive पर बूट करने योग्य लिनक्स रखें और लाइव सीडी ओएस से समस्याओं के बिना फ़ाइलों को हटा दें ।


-1

मैं भी एक ही समस्या थी, और मैं इसे खुद पाया, बस के रूप में संभव के रूप में मूल फ़ोल्डर का नाम बदलें। पूर्व। अगर हमारा " F " ड्राइव में D: // Folder / Undelete_Folder की तरह फोल्डर है । केवल एक चीज यू करना है कि माता-पिता फ़ोल्डर का नाम जितना छोटा है, उतने का नाम बदलकर " " कर सकते हैं । तब आपका स्थान D: // a / Undelete_folde r होगा। और फिर पैरेंट फोल्डर को डिलीट कर दें।


न केवल यह जरूरी काम नहीं करता है (अगर यह अभी भी बड़ा है, भले ही कमी के साथ?), लेकिन मैंने स्पष्ट रूप से उल्लेख किया कि मेरा फ़ोल्डर ड्राइव की जड़ में था।
सियारिया

-2

यदि सभी अन्य विफल होते हैं

स्ट्रिंग में अंतिम निर्देशिका पर जाएं। फ़ाइलें काटें पेस्ट स्ट्रिंग में वापस 4 या 5 वीं फ़ाइल में है। फिर [Shift] + [डिलीट] ट्रिक करना चाहिए।

मैं उन्नत कमांड प्रॉम्प्ट में ऊपर चलाने के लिए उलझन में था क्योंकि मैं एक डीपीएम बैकअप से टेस्ट रिस्टोर फाइल को हटा रहा था।

उम्मीद है की यह मदद करेगा।


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