हर कुछ वर्षों में, मुझे यह छोटी समस्या आती है। मैं विंडोज एक्सप्लोरर में एक फ़ाइल हटाने की कोशिश करता हूं, और यह एक त्रुटि फेंकता है, मुझे बताता है कि यह निर्दिष्ट फ़ाइल को ढूंढ (और हटा) नहीं सकता। ठीक है, होता है। तो मैं कमांड लाइन पर जाता हूं, और वहां विलोपन करता हूं। हालांकि, इस बार, मुझे एक नई अड़चन का सामना करना पड़ा। सामान्य विलोपन कार्रवाई पूरी नहीं होगी, कमांड प्रॉम्प्ट कह रहा है: सिस्टम निर्दिष्ट फ़ाइल को नहीं ढूंढ सकता।
मुझे यह समस्या मेरे Xerox B215 प्रिंटर द्वारा Samba शेयर पर बनाई गई एक लॉक फ़ाइल के साथ आई। किसी अजीब कारण से, प्रिंटर ने वास्तविक फ़ाइल नाम को छोटा कर दिया, और "Xerox_Scan.pdf" होने के बजाय, इसका नाम केवल "Xerox_Scan." था। हा, लेकिन क्या यह वास्तव में था?
समस्या
तो, कमांड लाइन पर, हमें यह मिलता है:
del "Xerox_Scan."
सिस्टम निर्दिष्ट फ़ाइल को नहीं ढूंढ सकता।
इस बिंदु पर, मुझे एहसास हुआ कि फ़ाइल नाम में शायद एक अजीब ट्रेलिंग कैरेक्टर है जो विंडोज एक्सप्लोरर या कमांड प्रॉम्प्ट में दिखाई नहीं देता। यह वास्तव में मुझे एक छोटी सी ट्रिक की याद दिलाता है जिसे मैं और कुछ सहयोगी अपने जूनियर्स के लिए सिस्टम एडमिनिस्ट्रेशन परीक्षा में इस्तेमाल करते थे। हम अंत में विशेष वर्णों वाली एक फ़ाइल बनाते थे, जैसे DOS में पुराना Alt + 255 ट्रिक, और फिर देखते थे कि कौन इसे समझ पाता है। लिनक्स में, आप ऑक्टल डंप उपयोगिता (od) का उपयोग करके वर्णों का पूरा सेट देख सकते हैं, निश्चित रूप से।
समाधान
विंडोज में, दृष्टिकोण एक लालची खोज (या अधिक सटीक रूप से विलोपन) के साथ जाना है। यदि आप सोच रहे हैं कि यहां क्या हो रहा है, तो नियमित अभिव्यक्तियों के बारे में सोचें। हम निर्दिष्ट पथ में किसी भी सबडायरेक्टरी में किसी भी फ़ाइल (/s) की तलाश कर रहे हैं, और हम एक ऐसी फ़ाइल की तलाश कर रहे हैं जिसमें शून्य या अधिक ट्रेलिंग व्हाइटस्पेस वर्ण हों। बम। काम हो गया, कोई और बदसूरती नहीं।
del /s \\?\D:\Scans\Xerox_Scan."
हटाई गई फ़ाइल - \\?\D:\Scans\Xerox_Scan.
निष्कर्ष
तकनीकी रूप से बोलते हुए, एक अनडिलीटेबल फ़ाइल एक बड़ी समस्या नहीं होनी चाहिए, लेकिन यह OCD स्तर पर, कॉस्मेटिक रूप से, और सैद्धांतिक रूप से, यह बैकअप स्क्रिप्ट या शेड्यूल कार्यों में हस्तक्षेप कर सकती है यदि उन्हें इस तरह की फ़ाइलों को शालीनता से अनदेखा करने के लिए डिज़ाइन नहीं किया गया है। इसलिए, आप आखिरकार कुछ हल्का रखरखाव करना चाहते हैं।
कई अन्य तरीके हैं जिनका आप उपयोग कर सकते हैं। उदाहरण के लिए, प्रोसेस एक्सप्लोरर भी फ़ाइलों को खोज सकता है और फिर उन्हें हटा सकता है, जिसमें व्हाइटस्पेस वर्ण शामिल हैं। लेकिन मुझे सरल कमांड लाइन रेगेक्स-खोज निष्पादन सबसे सुंदर समाधान लगता है। वैसे भी, हमारा कार्य कष्टप्रद था लेकिन इसका एक त्वरित और दर्द रहित समाधान है। फिर मिलते हैं।
चीयर्स।