मैं विंडोज पर "एनयूएल" नामक एक फाइल को कैसे हटा सकता हूं?


49

मेरे पास एक Windows XP बॉक्स (NTFS फाइल सिस्टम) है, जिस पर मुझे एक फाइल मिली है जिसका नाम है NUL। मैं किसी भी तरह से इस फ़ाइल को निकालने में सक्षम नहीं हूं। फ़ाइल के स्वामित्व में प्रतीत होता है Administratorमें SYSTEMएक ही निर्देशिका में किसी अन्य फ़ाइल (अन्य फ़ाइलों मेरे उपयोगकर्ता आईडी के स्वामित्व में हैं) के विपरीत, समूह।

मैं इस फ़ाइल को कैसे निकालूं? यह कहां से आया?


3
एनयूएल एक प्रणाली आरक्षित शब्द है; यह विकिपीडिया लेख देखें । NUL नामक फाइल कभी भी फाइल सिस्टम पर मौजूद नहीं होनी चाहिए; यह छोटी गाड़ी सॉफ्टवेयर के कारण हो सकता है। आप DELETEकमांड प्रॉम्प्ट का उपयोग करके कमांड का उपयोग करके इसे निकालने में सक्षम हो सकते हैं ।
bwDraco

9
@DragonLord: फाइलसिस्टम में ऐसे नामों की समस्या नहीं है; उदाहरण के लिए, आप POSIX वातावरण में ऐसी फ़ाइलें बना सकते हैं। (एक aux.cसॉफ्टवेयर स्रोत कोड में समान नाम पा सकते हैं ।) यह विशुद्ध रूप से Win32 एपीआई है जो इन "डिवाइस नामों" का प्रबंधन करता है।
१२'११

वही CON, PRN, AUX, NUL, COM1, COM3, COM3, COM4, ​​COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT7, LPT8, LPT9 और CLOCK9 पर लागू होता है। $ प्लस कुछ अन्य - en.wikipedia.org/wiki/…
robocat

Cygwin "nul" नामक फ़ाइल बनाता है (या उपयोग किया जाता है), जिसे आमतौर पर "C: \ cygwin \ dev \ul" में देखा जाता है। यह वह है जो मैंने हर कुछ वर्षों में एक बार मारा, मैंने Google, और मैं इस प्रश्न पर वापस (फिर से) लाया हूं।
zarchasmpgmr

जवाबों:


83

प्रयत्न, कोशिश

Del \\?\C:\My\Path\NUL

कमांड प्रॉम्प्ट में।

विवरण के लिए यह Microsoft समर्थन आलेख देखें: आप "कारण 5: फ़ाइल नाम में Win32 नाम स्थान में एक आरक्षित नाम शामिल है" के तहत किसी फ़ाइल या फ़ोल्डर को NTFS फ़ाइल सिस्टम वॉल्यूम पर हटा नहीं सकते


1
धन्यवाद! वह काम किया! इसके अलावा, आधिकारिक प्रलेखन के महान संदर्भ के लिए धन्यवाद। मुझे एक वेब खोज में कुछ मिला जो बहुत समान था, लेकिन काम नहीं किया। उस सुझाव के .स्थान पर था ?
ग्रेग मैट्स

1
@Greg: ज़रूर! प्रलेखन @ DragonLord की मदद थी। :-) और हाँ, .इसके बजाय ?एक ही काम नहीं करता है - प्रश्न चिह्न उपतंत्र द्वारा आगे की प्रक्रिया को रोकता है, जबकि अवधि का अर्थ है "वर्तमान मशीन" ... बिल्कुल एक ही चीज़ नहीं है, हालांकि यह निश्चित रूप से है भ्रामक। :)
मेहरदाद

1
मुझे यकीन नहीं है कि यह वास्तव में इसका मतलब है। \\.\ उपसर्ग के लिए है डिवाइस नाम स्थान है, लेकिन वहाँ कोई स्पष्ट उल्लेख नहीं है कि है .एक ही अर्थ ( "वर्तमान एक्स") के रूप में यह निर्देशिका नाम के लिए करता है।
विशालता

4
इसके बाद के संस्करण समाधान के लिए एक विकल्प है, तो अपने काम करने निर्देशिका पहले साथ निर्देशिका है nulफ़ाइल, आप कर सकते हैं: भाग कार्यशील निर्देशिका के लिए विस्तार किया जाता है और दोहरे उद्धरण चिह्न ( ) यह सब संभाल भी "अजीब" प्रतीकों, जैसे के साथ pathnames । del "\\?\%CD%\nul"%CD%""\\?\C:\path,with\comma\nul"
हेनरिक बीपी

1
यह मेरे वातावरण में शक्तियां या प्रशासनिक रूप से उन्नत संकेत से प्रभावी नहीं लगता था, लेकिन एक मानक टर्मिनल में प्रभावी रूप से काम करता था।
जस्टिन सीपी

13

वैकल्पिक रूप से यदि आपने Cygwin स्थापित किया है, तो आप जानना चाह सकते हैं, कि उसे ऐसी फ़ाइलों या फ़ोल्डरों से कोई समस्या नहीं है। विशेष रूप से,

rm -r /cygdrive/c/path/to/the/file/or/folder/you/want/to/delete

Cygwin टर्मिनल में टाइप की गई फ़ाइल या फ़ोल्डर को हटाता है nul, जिसमें फ़ोल्डर होता है। यह भी इस तरह के रूप में अन्य विशेष फ़ाइल नाम के लिए लागू है CON, PRN, AUX, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8


2
git bash के साथ भी काम करता है
c33s

अगर आपने Git इंस्टॉल कर लिया है तो आपको GNU rmकमांड मिल गई है ताकि आपको cygwin की जरूरत न पड़े। मान लें कि आप अपने PATH में GNU टूल बिन डायरेक्टरी जोड़ते हैं तो आप cmd से सभी GNU माल का उपयोग कर सकते हैं।
icc97

8

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

मैंने कोशिश की rmdir\\?\C:\My\Path\NULऔर rmdir\\.\C:\My\Path\NULबिना किसी सफलता के और अपने सोर्सट्री इंस्टॉलेशन से बैश का उपयोग करते हुए कई कमांड्स भी आजमाए। कोई आनंद नहीं है।

अंत में मैंने DIR /X /Aमूल निर्देशिका में संक्षिप्त नामों को सूचीबद्ध करने के लिए cmd का उपयोग किया । यह NUL~1मेरे NUL फ़ोल्डर के लिए लौटा ।

यह तब मानक कमांड में इस्तेमाल किया गया था rmdir /s NUL~1और अंत में समस्या को ठीक किया।


हम्म, यह विशेष नाम को कम करने के लिए संक्षिप्त नाम का उपयोग करके बहुत चालाक है।
सामब

1

अगर आपके पास Windows Installed के लिए Git है तो निम्न कार्य करें

  1. उन निर्देशिकाओं को खोलें, जिन्हें आप हटाना चाहते हैं
  2. बायाँ-क्लिक करें और चुनें Git Bash Here
  3. rm nul.jsonकमांड प्रॉम्प्ट पर टाइप करें और एंटर करें, अब फाइल को हटाया जाना चाहिए।

यहां गिट बैश चलाएं

नोट: ये स्क्रीनशॉट फ़ाइल को हटाने को दिखाते हैं nul.topo.jsonजो कि एक और फ़ाइल है जिसे मैं एक साधारण हटाने के साथ नहीं हटा सकता।

कमान के निष्पादन के बाद

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