windows - एक डॉट("।") के साथ समाप्त होने वाले फ़ोल्डर को कैसे हटाएं?




winapi file-io (6)

उन फ़ाइलों और फ़ोल्डरों को हटाने के लिए unlocker प्रोग्राम का उपयोग करने का प्रयास करें जिन्हें आप सामान्य रूप से हटा नहीं सकते हैं।

मुझे मैलवेयर द्वारा बनाए गए कुछ फ़ोल्डर्स मिल गए जिनके नाम C:\a.\ या C:\b.\ , आदि जैसे बिंदु के साथ समाप्त हुए।

मुझे एक समाधान मिला जो कमांड rd /q /s "C:\a.\" साथ ऐसे फ़ोल्डर को हटा सकता है, लेकिन अगर मैं जीत एपीआई RemoveDirectory , तो यह ERROR_FILE_NOT_FOUND देता है।

और मुझे आश्चर्य है कि ऐसी निर्देशिका को हटाने के लिए फ़ंक्शन कैसे लिखना है, धन्यवाद

मैं इस तरह अपने विंडोज एक्सपी एसपी 3 सिस्टम पर परीक्षण करता हूं

एक फ़ोल्डर C:\>mkdir a..\\\ बनाएँ C:\>mkdir a..\\\ और मैं इस फ़ोल्डर तक पहुंचने के लिए डबल क्लिक नहीं कर सकता। और मैं कमांड rd /q /s "C:\a.\" साथ हटा सकता हूं

क्या विंडोज सिस्टम एपीआई है कि rd /q /s कमांड कॉल?


जब आप नाम देखते हैं तो "ए" है, लेकिन वास्तविक नाम "ए .." है

इसे इस्तेमाल करे:

rd /q /s "C:\a..\"

और आप इस कोड द्वारा फ़ोल्डर का पता लगाने का प्रयास कर सकते हैं:

for /f "tokens=3 delims=<>" %%a in ('dir /ad /x "C:\*" ^| findstr " a\.\.$"') do (
  for /f "tokens=1" %%b in ("%%a") do start "" "%%~fb"
)

मैंने इसे एसयू पर पोस्ट किया और मैंने इसे यहां पोस्ट करने का फैसला किया। इसे हासिल करने का यह सबसे सरल और तेज़ और आसान तरीका है। अब मैं हँस रहा हूं कि यह कितना आसान है।

  1. WinRAR स्थापित करें
  2. चित्रों से चरण प्रक्रिया द्वारा चरण का पालन करें:

मैंने स्वयं WinRaR स्थापित किया था इसलिए मैंने इसमें कामकाज का प्रदर्शन करने का फैसला किया।
7zip का उपयोग करके यह कामकाज भी संभव है।

एक और बात जो मुझे जिक्र करनी चाहिए वह यह है कि, ऐसा लगता है कि समस्या विंडोज एक्सप्लोरर और किसी अन्य फ़ाइल ब्राउज़र (जैसे Winrar फ़ाइल ब्राउज़र, एफटीपी एक्सप्लोरर इत्यादि) का उपयोग करके होती है। इस फाइल को सामान्य के रूप में माना जाएगा।
आप किसी भी फ़ाइल ब्राउज़र का उपयोग करने का प्रयास कर सकते हैं और बस उन फ़ाइलों को हटा सकते हैं और उन्हें संग्रहित करने की परेशानी नहीं है! चीयर्स!


यदि आपके पास गिट स्थापित है (आप here से आईआर प्राप्त कर सकते here ) तो यह उतना आसान है जितना:

  1. उस स्थान पर नेविगेट करें जहां समस्याग्रस्त फ़ोल्डर स्थित है।
  2. संदर्भ मेनू (दायां माउस बटन)> यहां गिट बैश।
  3. rm -rf Foldername./


समाधान: जब आप RemoveDirectory को कॉल करते हैं, तो सुनिश्चित करें कि आप " \\?\ " स्ट्रिंग के साथ पथ को उपसर्ग करते हैं।


स्पष्टीकरण: इसमें डॉट के साथ सबकुछ करना है। एमएसडीएन के अनुसार, कुछ ऐसे मामले हैं जहां आप NTFS वॉल्यूम पर फ़ाइल या फ़ोल्डर को हटाने में सक्षम नहीं हो सकते हैं, खासकर जब फ़ाइल नाम Win32 नाम स्थान में अमान्य है (यही कारण है कि आप फ़ाइल का उपयोग कर फ़ाइल खोलने में असमर्थ हैं विंडोज एक्सप्लोरर में सामान्य तरीकों)।

यदि फ़ाइल नाम में अमान्य नाम शामिल है, तो हो सकता है कि आप फ़ाइल को हटाने में सक्षम न हों (उदाहरण के लिए, फ़ाइल नाम में पिछली जगह या पिछली अवधि है या फ़ाइल का नाम केवल एक स्थान से बना है)। इस समस्या को हल करने के लिए, फ़ाइल को हटाने के लिए उपयुक्त आंतरिक वाक्यविन्यास का उपयोग करने वाले टूल का उपयोग करें। आप इन फ़ाइलों पर काम करने के लिए कुछ टूल्स के साथ "\\? \" वाक्यविन्यास का उपयोग कर सकते हैं, उदाहरण के लिए:
डेल "\\? \ c: \ path_to_file_that में एक पिछला space.txt है"
इस समस्या का कारण 4 कारण के समान है। हालांकि, यदि आप उस फ़ाइल को खोलने के लिए सामान्य Win32 सिंटैक्स का उपयोग करते हैं जिसमें पिछली जगह या पिछली अवधि के पीछे की अवधि है, तो वास्तविक फ़ाइल खोले जाने से पहले पीछे की जगहें या अवधि छीन ली जाती है। इसलिए, यदि आपके पास "AFile.txt" और "AFile.txt" नामक एक ही फ़ोल्डर में दो फ़ाइलें हैं (फ़ाइल नाम के बाद स्थान को नोट करें), यदि आप मानक Win32 कॉल का उपयोग कर दूसरी फ़ाइल खोलने का प्रयास करते हैं, तो आप खोलते हैं इसके बजाय पहली फ़ाइल। इसी प्रकार, अगर आपके पास एक फ़ाइल है जिसका नाम सिर्फ "" (एक स्पेस कैरेक्टर) है और आप इसे मानक Win32 कॉल का उपयोग करके खोलने का प्रयास करते हैं, तो आप इसके बजाय फ़ाइल के मूल फ़ोल्डर को खोलते हैं। इस स्थिति में, यदि आप इन फ़ाइलों पर सुरक्षा सेटिंग्स को बदलने का प्रयास करते हैं, तो आप या तो ऐसा करने में सक्षम नहीं हो सकते हैं या आप अनपेक्षित रूप से विभिन्न फ़ाइलों पर सेटिंग्स को बदल सकते हैं। यदि यह व्यवहार होता है, तो आप सोच सकते हैं कि आपके पास ऐसी फ़ाइल की अनुमति है जिसमें वास्तव में एक प्रतिबंधित एसीएल है।

(स्रोत: http://support.microsoft.com/?kbid=320081 )





file-io