गैर-छिपी निर्देशिका एक्सप्लोरर में नहीं दिखाई देती है, लेकिन जो प्रोग्राम बना है वह इसे एक्सेस कर सकता है


26

मैं अपने मेलबॉक्स का बैकअप लेने के लिए IMAPSize का उपयोग कर रहा हूं । प्रक्रिया आपके मेलबॉक्स की सामग्री .emlको आपकी डिस्क पर फ़ाइलों में डाल देती है । वैसे भी, पहला मेलबॉक्स जिसका मैंने समर्थन किया है, वह मेरी अपेक्षा के अनुरूप है। हालाँकि, अगला एक्सप्लोरर में नहीं दिखता है और अगर मैं इसे एड्रेस बार में दर्ज करता हूं, तो यह मुझे बताता है कि यह मौजूद नहीं है।

हालाँकि, IMAPSize जोर दे रहा है कि फाइलें वहीं हों। (डिस्क लेखन का एक बहुत ऑपरेशन के दौरान प्रदर्शन किया गया था जा रहा है।) इसके अलावा, निर्देशिका है विंडोज निर्देशिका संवाद में दिखाई देते हैं और - यह में पता चलता है - के रूप में मैं जीएनयू उपकरण स्थापित किया है ls(लेकिन देशी में नहीं dir)। मैं cdडायरेक्टरी में नहीं जा सकता , लेकिन lsलगता है कि इसे एक्सेस करने में सक्षम हो सकता है (और, वास्तव में, जो डाइरेक्टरी और फाइल्स मैं उम्मीद करता हूं कि वे वहां मौजूद हैं)।

लिस्टिंग दिखाते हुए कमांड प्रॉम्प्ट विंडो

यह भी ध्यान दें कि टाइमस्टैम्प और फाइलेज backup.dbइन dirऔर ls -lआउटपुट अलग-अलग हैं ।

संक्षेप में: यहाँ क्या चल रहा है और मैं इसे कैसे ठीक करूँ !?


1
एकमात्र विशिष्ट अंतर जो मैं देख रहा हूं वह यह है कि ls -l"छिपी हुई" निर्देशिकाओं और फ़ाइलों को हार्डलिंक की एक अजीब संख्या दिखा रही है ... मुझे नहीं पता कि वह क्यों है, और न ही एनटीएफएस-भूमि में एक हार्डलिंक की भी व्याख्या कैसे की जाती है।
Xophmeister

... बस पुष्टि करने के लिए: मैं कमांड लाइन से "छिपा हुआ" फाइलों में डेटा का उपयोग कर सकता हूं, cat(एक और जीएनयू कोरुटिल) का उपयोग करके । फिर, हालांकि, देशी विंडोज टूल (जैसे type) फ़ाइल भी नहीं पा सकते हैं।
Xophmeister

जवाबों:


63

मुझे लगता है: प्रोग्राम है कि फ़ाइल बनाया, और भी GNU उपयोगिताओं, व्यवस्थापक के रूप में नहीं चल रहे हैं।

पहला, कुछ इतिहास। Windows XP के दिनों में, कार्यक्रमों के बहुत सारे मान लिया है कि वे हमेशा व्यवस्थापक के रूप में चलाया जाएगा, और जैसे स्थानों के लिए लिखते थे C:\Windowsऔर C:\Program Files (x86)जंगली त्याग के साथ। विस्टा के साथ, माइक्रोसॉफ्ट ने कम लोगों को प्रवेश देने की कोशिश की, लेकिन मानक उपयोगकर्ता उन जगहों पर नहीं लिख सकते हैं। उन्हें काम करते रहने के लिए उन संदिग्ध कार्यक्रमों की आवश्यकता थी (अन्यथा लोग अपग्रेड नहीं करेंगे)। तो, उन्होंने यूएसी वर्चुअलाइजेशन नामक एक जादुई विशेषता पेश की ।

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

ऐसा लगता है कि आपके मेल प्रोग्राम को Program Files (x86)सामान्य उपयोगकर्ता के रूप में चलने के दौरान एक जगह पर लिखने की कोशिश की गई थी । लेख को पुनर्निर्देशित किया गया था, इसलिए यह वास्तव में उस जगह पर नहीं गया था। प्रोग्राम अभी भी इसे देख सकता है, क्योंकि विंडोज इसके लिए भ्रम बना रहा है। एक्सप्लोरर इसे नहीं देखता क्योंकि यह ऑपरेटिंग सिस्टम की घोषणा करता है कि यह अच्छी तरह से व्यवहार किया गया है और इसलिए इसे पुनर्निर्देशन की आवश्यकता नहीं है। कमांड प्रॉम्प्ट का dirकमांड कोई प्रोग्राम नहीं है (यह सिर्फ एक विशेषता है cmd.exe), इसलिए इसे "पता में" भी माना जाता है और इसलिए इसे संगतता फ़ाइलों को नहीं दिखाया गया है। lsएक ऐसा कार्यक्रम है, जो जाहिर तौर पर नहीं है, इसलिए यह संगतता फ़ाइलों को देखने के लिए मिलता है।

आपको अपनी फ़ाइल यहां मिलेगी:

%LOCALAPPDATA%\VirtualStore\Program Files (x86)\IMAPSize\backup

अंदर झाँकते समय VirtualStore, आप आश्चर्यचकित हो सकते हैं कि किन कार्यक्रमों का व्यवहार ठीक नहीं है और उन्हें वर्चुअलाइजेशन सेफ्टी नेट की आवश्यकता है।

यदि आप पुनर्निर्देशन को रोकना चाहते हैं, तो प्रोग्राम को व्यवस्थापक के रूप में चलाएं, या अपने बैकअप को उस स्थान पर सहेजें, जिसे आप वास्तव में व्यवस्थापक विशेषाधिकारों के बिना लिख ​​सकते हैं।


16
और यहां मुझे लगा कि मैं विंडोज जानता हूं। या तो यह एक अच्छी तरह से किया गया अप्रैल-मूर्ख-मजाक है, या मैंने आज बहुत महत्वपूर्ण सीखा है। धन्यवाद, @Ben N!
अगंजु

3
@Aganju कुछ महीने पहले मुझे विंडोज यूजर को WinSCP के लिए एक कीपर बनाने में मदद करनी थी। और वे बहुत ही उसी तरह अदृश्य हो गए जिस तरह से प्रश्न में वर्णित है। उस समय मैंने एक स्पष्टीकरण की परिकल्पना की थी जो इस उत्तर में दिया गया था। मैंने अपनी परिकल्पना को सत्यापित करने की जहमत नहीं उठाई, क्योंकि फाइल को उपयोगकर्ताओं की होम डायरेक्टरी के बजाय फाइल डालकर हल किया गया था। लेकिन कम से कम मैं इस बात की पुष्टि कर सकता हूं कि यह जवाब मुझे मजाक की तरह नहीं लगता है।
कास्परड

3
वैसे मुझे धिक्कार होगा! वहाँ वे सभी हैं। यह अजीब व्यवहार है, भले ही यह इरादा है। मुझे लगा कि मेरे पास एक फ़ाइल सिस्टम त्रुटि थी! ... यह भी बताएगा कि मेरा पहला मेलबॉक्स बैकअप क्यों दिखाता है: प्रोग्राम पहले इंस्टॉलर से चलाया गया था ("क्या आप अब और ऐसे-ऐसे चलाना चाहते हैं?"), कौन सा प्रशासक विशेषाधिकार होने के लिए इसे ऊंचा किया जाएगा; जबकि "छिपा हुआ" रन स्थानीय उपयोगकर्ता के रूप में था।
Xophmeister

1
@ अगनू मैं अनुमान लगा रहा हूं कि आपने कभी विस्टा का ज्यादा इस्तेमाल नहीं किया। इसमें आपको एक्सप्लोरर में वर्चुअलाइज्ड फाइल दिखाने की सुविधा थी; क्योंकि यह मुद्दा कुछ वर्षों के लिए पर्याप्त रूप से सामान्य था। जब तक Win7 चारों ओर आया, तब तक सबसे व्यापक रूप से उपयोग किए जाने वाले सॉफ़्टवेयर ने यह मान लेना बंद कर दिया कि यह अपने इंस्टॉल डायरेक्टरी के सबफ़ोल्डर्स को लिख सकता है; और फीचर को विंडोज के सबसे हाल के संस्करणों में काफी कम दिखाई दे रहा है या संभवतः एकमुश्त हटा दिया गया है।
दान नीली

4
@Xophmeister यह एक व्यापार बंद है। जैसा कि उत्तर में उल्लेख किया गया है, विस्टा से पहले अपने स्वयं के अनुप्रयोग निर्देशिका के लिए सॉफ्टवेयर लिखना सामान्य रूप से सामान्य था। यह एक बड़े पैमाने पर सुरक्षा छेद है, इसलिए इसे हल करना पड़ा। विकल्प 1 थे) लेखन को रोकें और सभी अनुप्रयोगों को तोड़ दें, 2) एक सुरक्षित स्थान पर फ़ाइलों को बचाने के लिए वर्चुअलाइजेशन का उपयोग करें। 1) स्पष्ट रूप से अस्थिर है और माइक्रोसॉफ्ट के एसओपी के खिलाफ बहुत अधिक है, और अंत में यह केवल हर किसी को फिर से पहले व्यवस्थापक के तहत सब कुछ चलाने के लिए नेतृत्व करेगा। यह भ्रामक हो सकता है, लेकिन यह अभी भी शायद सबसे अच्छा विकल्प है। खतरनाक निर्देशिकाओं को न लिखें।
लुआण
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.