विंडोज फाइल सिस्टम में "केवल पढ़ने के लिए" झंडा होता है। इस तरह के एक सरल प्रभाव के लिए DACL अनुमतियाँ सेट करने से आसान है।
कमांड प्रॉम्प्ट में, एटीटीआर कमांड का उपयोग करें। जीयूआई शेल में यह गुण में होना चाहिए, हालांकि गुई कुछ जटिल और उससे परे हो सकता है जो आप वास्तव में चाहते थे।
इसके अलावा, यदि आप एक ही नाम के साथ एक निर्देशिका बनाते हैं, तो आप उस पर "पिछले संस्करणों को पुनर्स्थापित करें" लागू कर सकते हैं।
अद्यतन करें
मैंने एक Win7 सिस्टम पर प्रयोग किया। GUI हटाने (रीसायकल बिन के बिना) निर्देशिका पर ध्वज की उपेक्षा करता है R। इसके बारे में कोई अतिरिक्त संकेत चेतावनी नहीं है, या तो, जैसे मैंने Hऔर / या Sझंडे के लिए देखा है । rdकमांड लाइन से जारी करने से अपेक्षित के रूप में उपयोग से इनकार किया जाता है। हालाँकि, आप अभी भी rdएक गैर-खाली निर्देशिका नहीं कर सकते हैं : फ़ाइल को हटा दें और निर्देशिका को हटा दें अलग-अलग कमांड हैं। सामग्री के साथ एक निर्देशिका को पुन: हटाने के लिए एक आदेश सामग्री को हटा देगा और अब-खाली निर्देशिका को हटाने में विफल होगा।
इसलिए निर्देशिका की सुरक्षा स्वयं आपके द्वारा किए गए जीयूआई कार्रवाई में काम नहीं करती है। और यह संकेत मिलता है कि निर्देशिका को रोकने के लिए किसी भी अधिक सजावटी दृष्टिकोण ही निकाले जाने से पहले खाली कर दिया जा रहा से रोकने नहीं होगा! आपने कहा कि आप अभी भी फ़ाइलों को बनाने और हटाने के लिए निर्देशिका के भीतर सामान्य पहुंच चाहते हैं, इसलिए इसे पूरी तरह से बंद करना आपके लिए कोई समाधान नहीं है।
सबसे अच्छा समाधान प्रतीकात्मक लिंक लगता है । डेस्कटॉप पर निर्देशिका के लिए एक प्रतीकात्मक लिंक (नई शैली, जो Windows Vista और अब ऊपर एक प्रतीकात्मक लिंक कहते हैं) बनाना, जब निर्देशिका वास्तव में कहीं और मौजूद होती है, तो इस अर्थ में काम करती है कि अगर मैं डेस्कटॉप आइकन (शिफ्ट-डिलीट) को हटा दूं, कोई रीसायकल बिन) वास्तविक निर्देशिका अप्रभावित है क्योंकि केवल लिंक हटा दिया गया था।
डेस्कटॉप आइकन को शिफ्ट-डिलीट करने से कोई फर्क नहीं पड़ता अगर इसे Rविशेषता के साथ चिह्नित किया गया था ।
एक प्रोग्राम जो मानक विंडोज फाइल-ओपन डायलॉग बॉक्स का उपयोग करता है, बिना किसी समस्या के सिमलिंक के माध्यम से नेविगेट किया जाता है। यह वास्तव में लिंक की गई निर्देशिका के नाम को हल करता है, इसलिए खोली गई फ़ाइल वास्तविक नाम थी; जैसे Desktop\MyFolderबन गया D:\scratch\MyFolderके रूप में मैं इसे माध्यम से नेविगेट किया है।
एक पुराने-शैली लिंक (एक जंक्शन ) का उपयोग करते हुए , कार्यक्रम ने मार्ग में अभी भी जंक्शन के साथ नाम देखा; उदाहरण के C:\Users\john\Desktop\MyFolder\test.txtलिए तथ्य यह है कि यह एक कड़ी है अदृश्य है। फिर भी, जीयूआई हटाएं क्रिया अभी भी एक कड़ी के रूप में यह इलाज किया, नहीं अदृश्य रूप से यह निम्नलिखित।
किसी भी तरह से, अगर कोई प्रोग्राम अलियासिड नाम का उपयोग करता है तो यह सीधे काम करेगा। लेकिन कभी-कभी फाइलें एक नाम से देखी जाती हैं और कभी-कभी दूसरे चीजों को भ्रमित कर सकती हैं।
निष्कर्ष
वास्तव में कहीं और स्थित फ़ोल्डर के साथ डेस्कटॉप पर एक जंक्शन का उपयोग करें, और यह पूरी तरह से पारदर्शी होगा कि यह क्या हो रहा है। वैकल्पिक रूप से, डेस्कटॉप पर जंक्शन बिंदु फ़ाइल के आकस्मिक हटाने को रोकने के लिए DACL का उपयोग करना। कम से कम, जरूरत पड़ने पर इसे फिर से बनाने के लिए एक स्क्रिप्ट है।
बोनस
मैंने यह कोशिश नहीं की है, लेकिन मुझे आश्चर्य है कि यदि आप जंक्शन या प्रतीकात्मक लिंक को फिर से बनाने के लिए "नई वस्तुओं" में कुछ हो सकते हैं? फिर अभी-अभी-खाली डेस्कटॉप पर राइट-क्लिक करें, नया चुनें ... और मेनू से "डेस्कटॉप जोड़" चुनें। क्या यह सब कुछ आप डेस्कटॉप पर वास्तव में चाहते थे बहाल।