कार्यक्रमों में विंडोज "दस्तावेज़" फ़ोल्डर का वैध उपयोग


40

जो कोई भी अपने दस्तावेज़ फ़ोल्डर को पसंद करता है, उसमें केवल वही चीज़ें होती हैं जो वे जानते हैं कि मानक दस्तावेज़ फ़ोल्डर इस कार्य के लिए पूरी तरह से अनुपयुक्त है। ऐसा लगता है कि हर प्रोग्राम अपनी सेटिंग्स, डेटा, या डॉक्यूमेंट्स फ़ोल्डर में समान रूप से अप्रासंगिक होना चाहता है , इस तथ्य के बावजूद कि इस नौकरी के लिए विशेष रूप से 1 फ़ोल्डर हैं ।

ताकि यह खाली न लगे, मेरे व्यक्तिगत "दस्तावेज़" फ़ोल्डर को एक उदाहरण के रूप में लें। मैं कभी भी इसका उपयोग नहीं करता हूं , इसमें मैं कभी भी, किसी भी परिस्थिति में, इस फ़ोल्डर में कुछ भी सहेजता हूं। और फिर भी, इसमें 500 फ़ोल्डरों में कुल 800 फाइलों के लिए 46 फ़ोल्डर्स और शीर्ष स्तर पर 3 फाइलें हैं। यह 190 एमबी का "दस्तावेज" है, जो मैंने नहीं बनाया। जाहिर है कि कोई भी वास्तविक दस्तावेज तुरंत इस गड़बड़झाले में खो जाएगा।

मेरा प्रश्न यह है : "दस्तावेज़" को फिर से उपयोगी बनाने के लिए स्थिति को बेहतर बनाने के लिए कुछ भी किया जा सकता है, अगले 5 वर्षों में कहेंगे? क्या प्रोग्रामर्स को किसी तरह से शिक्षित किया जा सकता है कि वे इसे डंपिंग ग्राउंड के रूप में उपयोग न करें? क्या OS मौजूदा एपीआई के माध्यम से AppData के तहत छिपे हुए कुछ "नकली" स्थान की रिपोर्ट करना शुरू कर सकता है, जबकि केवल एक्सप्लोरर और विभिन्न ओपन / सेव संवादों को यह जानने की अनुमति देता है कि "असली" दस्तावेज़ फ़ोल्डर कहाँ रहता है? या कोई भी प्रयास पूरी तरह से निरर्थक या अनावश्यक भी हैं?


1 रिकॉर्ड के लिए, यहां "मानक" के बजाय विभिन्न मानक निर्देशिकाओं का त्वरित सारांश इस्तेमाल किया जाना चाहिए:

  • RoamingAppDataके लिए उपयोगकर्ता-विशिष्ट डेटा और सेटिंग। यह वह जगह है निर्देशिका उपयोगकर्ता-विशिष्ट गैर अस्थायी डेटा के लिए उपयोग करने के लिए। यहां पर रखी गई कोई भी मशीन किसी भी मशीन पर उपलब्ध होगी जो किसी उपयोगकर्ता को नेटवर्क में लॉग ऑन करती है जहां यह कॉन्फ़िगर किया गया है। हालांकि बड़ी फ़ाइलों को यहां न रखें, क्योंकि वे ऐसे वातावरण में लॉगिन / लॉगआउट को धीमा कर देते हैं।
  • LocalAppDataके लिए उपयोगकर्ता और मशीन विशिष्ट डेटा और सेटिंग। यह डेटा हर उपयोगकर्ता और हर मशीन के लिए अलग है। यह वह जगह भी है जहां बहुत बड़े उपयोगकर्ता-विशिष्ट डेटा को रखा जाना चाहिए।
  • ProgramDataके लिए मशीन विशिष्ट डेटा और सेटिंग। ये वही हैं जिनकी परवाह किए बिना उपयोगकर्ता लॉग ऑन है, और नेटवर्क में अन्य मशीनों पर नहीं घूमेगा।
  • GetTempPathसभी फ़ाइलों के लिए जिनका उपयोग नहीं होने पर डेटा की हानि के बिना मिटा दिया जा सकता है। यह भी है जैसी चीजों के लिए जगह कैश , क्योंकि अस्थायी डेटा की तरह, एक कैश ऊपर का समर्थन करने की आवश्यकता नहीं है। अपना विशाल कैश यहां रखें और आप अपने उपयोगकर्ता को कुछ बैकअप परेशानी से बचाएंगे।

"दस्तावेज़" का उपयोग केवल तभी किया जाना चाहिए जब उपयोगकर्ता ने इसे मैन्युअल रूप से किसी पथ में प्रवेश करके या इसे सहेजें संवाद में चुनकर निर्दिष्ट किया हो। यह एकमात्र समय है जब "दस्तावेज़" में सामान को बचाने के लिए कभी भी उपयुक्त है।


इस विचार पर चर्चा को meta.PE पर ले जाना चाहिए ।
जोश के

"क्या OS मौजूदा एपीआई के माध्यम से AppData के तहत छिपे हुए कुछ" नकली "स्थान की रिपोर्ट करना शुरू कर सकता है, जबकि केवल एक्सप्लोरर और विभिन्न ओपन / सेव संवादों को यह जानने की अनुमति देता है कि" असली "दस्तावेज़ फ़ोल्डर कहाँ रहता है?" उपयोगकर्ताओं की शक्ति को कम करने वाली कोई भी चीज खराब है। और उपयोगकर्ताओं द्वारा मेरा मतलब उन उपयोगकर्ताओं से है जो स्वचालन के लिए प्रोग्राम करना जानते हैं।
वैकल्पिक

1
मुझे यह स्पष्ट करने की आवश्यकता है कि मेरे सभी कंप्यूटरों पर दस्तावेज़ फ़ोल्डर कबाड़ से मुक्त है, क्योंकि मैं लिनक्स बॉक्स चलाता हूं। मुझे पता है कि इसे 'विंडोज' टैग किया गया है, लेकिन कहीं भी इस गौरवशाली शेख़ी में आपने ओएस का उपयोग करने का उल्लेख नहीं किया है।
sevenseacat

1
स्पष्ट रूप से यहाँ समस्या Microsoft के साथ यह होने देती है और यहाँ तक कि इसे बढ़ावा भी देती है - Visual Studio / SQL Server Management Studio को देखें। एक दिलचस्प सवाल है - क्या इस समस्या के बारे में Microsoft में शेख़ी करने के लिए एक अच्छी जगह है?
क्रिस नेविल

1
वर्तमान OneDrive सेटिंग्स इसे और भी बदतर बनाती हैं। क्योंकि यह OneDrive के अंदर दस्तावेज़ फ़ोल्डर सेट कर रहा है (जो वास्तव में एक अच्छा विचार है)। लेकिन मेरे पास सिर्फ 1 घंटे का लगभग कोई इंटरनेट नहीं था, जब तक कि मैंने ज़मरीन पर ध्यान नहीं दिया, मैंने सोचा कि एंड्रॉइड एनडीके को मेरे (वनड्राइव) दस्तावेज़ फ़ोल्डर में धकेलना एक अच्छा विचार होगा। मेरे अन्य 3 सिंक किए गए कंप्यूटर स्वचालित रूप से सभी फाइलों को डाउनलोड करते हैं। 1.9 जीबी ...
मैट

जवाबों:


19

कुछ दृश्य प्रोत्साहन की आवश्यकता होगी। उदाहरण के लिए, यदि उपयोगकर्ताओं को दस्तावेज़ फ़ोल्डर (समय पर स्थापित) में सहेजने की अनुमति प्रदान करनी थी, तो प्रोग्रामर उस डरावने संवाद को ट्रिगर करने से बचना चाहेंगे।

एक बार जब आपके पास प्रोत्साहन हो जाता है, तो लोग इसे हल करने की कोशिश करते हुए "प्रोग्रामडटा में मशीन-विशिष्ट प्रोग्राम डेटा सहेजें" जैसे दस्तावेज़ों पर स्वाभाविक रूप से ठोकर खाएंगे।

वास्तव में, बहुत सारी समस्याओं को एक अच्छी अनुमति फ्रेमवर्क द्वारा हल किया जा सकता है ...


मैक ओएस एक्स के लिए ऐप्पल सैंडबॉक्स की तरह थोड़ा सा साउंड करें: आप केवल ओएस कंट्रोल्ड डायलॉग के माध्यम से जाकर किसी अनियंत्रित स्थान पर सेव कर सकते हैं जो आपको सेव लोकेशन का चयन करने की अनुमति देता है। यदि उपयोगकर्ता ठीक पर क्लिक करता है, तो यह भविष्य में उपयोग के लिए निर्देशिका को अनलॉक करता है।
लॉरेंट बोर्गुल्ट-रॉय

4

मेरा प्रश्न यह है: "दस्तावेज़" को फिर से उपयोगी बनाने के लिए स्थिति को बेहतर बनाने के लिए कुछ भी किया जा सकता है, अगले 5 वर्षों में कहेंगे?

सिद्धांत रूप में, कुछ किया जा सकता है। सिद्धांत रूप में Microsoft सकता है:

  • उपयोगकर्ता सेटिंग फ़ाइलों को डालने के लिए एक बेहतर जगह के साथ आओ (इस प्रक्रिया में, यह मानते हुए कि बहुत सारे अनुप्रयोगों में फाइलों में सेटिंग्स डालने के वैध कारण हैं)।
  • इसे मानक विंडोज एप्लिकेशन डेवलपर दिशानिर्देशों में जोड़ें। (मुझे लगता है कि ऐसे दिशानिर्देश मौजूद हैं।)
  • एक बनाओ बड़ी बात के दिशा निर्देशों, जैसे के माध्यम से प्रमाण पत्र के कुछ प्रकार के लिए या बनाने और अनुरूपता स्कोरकार्ड प्रकाशित करके अनुप्रयोगों अनुरूपता के बारे में। "नामकरण और छायांकन" अद्भुत काम कर सकता है ...

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


4
यह ध्यान देने योग्य है कि Microsoft स्वयं एक बड़ा अपराधी है (या, कम से कम, कुछ Microsoft टीम बड़े अपराधी हैं)।
पीटर टेलर

पूरी तरह से "बड़ी बात" बिंदु से सहमत हैं। एक बेहतर जगह के रूप में - मुझे लगता है कि रोमिंग प्रोफ़ाइल पहले से ही बहुत खराब नहीं है, यह सिर्फ इतना है कि बहुत सारे लोग हैं जो इसके बारे में नहीं जानते हैं, या इससे भी बदतर, वहां (2 जीबी +) फाइलें डालते हैं। विशेष रूप से खेल ...
रोमन स्टार्कोव

2

मुझे लगता है कि आप इस सवाल का जवाब देते हैं कि यह प्रोग्रामर शिक्षा को उबालता है। मुझे Windows API के बारे में पर्याप्त जानकारी नहीं है और यदि इसमें सामान Documentsरखना विशेष रूप से आसान है, लेकिन यदि नहीं तो अनुप्रयोगों को इसे प्रदूषित नहीं करना चाहिए। मुझे लगता है कि यह प्रति-उपयोगकर्ता ज्ञात स्थान होने के लिए नीचे आता है, जहां डेटा निवास कर सकता है। जिस तरह के डेटा के बारे में आप बात करते हैं, उसके लिए मैक ओएस एक्स ~/Libraryफ़ोल्डर का उपयोग करता है , हालांकि कुछ ऐप अभी भी चीजों को चिपकाते हैं Documents। हो सकता है कि विंडोज के लिए भी कुछ ऐसा ही हो (क्या?) मौजूद है।

व्यक्तिगत रूप से, मैं अपने ड्रॉपबॉक्स रूट के तहत एक ही-शीर्षक वाले फ़ोल्डर पर अपने दस्तावेज़ रखता हूं, जो मेरे लिए अतिरिक्त स्तर का काम जोड़ता है, लेकिन मुझे आपके द्वारा उठाए गए समस्या से बचाता है।


2

यद्यपि मैं समझता हूं कि आप डेवलपर्स को ऐसा करने से रोकने के बारे में चर्चा में संलग्न होना चाहते हैं, लेकिन यह उन चीजों में से एक बन सकता है जैसे टास्कबार नोटिफिकेशन आइकन जिन्हें रोका नहीं जा सकता था इसलिए Microsoft ने उन्हें गलीचा के नीचे बह दिया।

मैंने पहले दस्तावेज़ फ़ोल्डर के बारे में ब्लॉग किया है, यह एक खराब पड़ोस से बाहर निकलने की तुलना में है । एक उपयोगकर्ता के रूप में, मैं इसे अपने दम पर साफ करने की कोशिश के लिए हैक्स का एक गुच्छा लेकर आया था। मैं बिन बुलाए गए सभी फ़ोल्डरों को "छिपी" के रूप में चिह्नित करूंगा जो उन्हें एक्सप्लोरर से गायब कर देगा। मैं Visual Studio 2005, 2008, 2010 फ़ोल्डरों के लिए एक सामान्य "विज़ुअल स्टूडियो" फ़ोल्डर, आदि में प्रतीकात्मक लिंक बनाऊंगा।

लेकिन इसे स्वचालित करने के लिए पॉवरशेल स्क्रिप्ट के साथ भी, मैं अपने द्वारा उपयोग की जाने वाली हर नई मशीन पर इसे करने के लिए बीमार हो गया। सौभाग्य से, विंडोज 7 में एक और विकल्प है जो मेरे लिए बहुत अच्छा काम करता है।

चूंकि विंडोज 7 दस्तावेज़ फ़ोल्डर के विपरीत "दस्तावेज़" लाइब्रेरी में डिफ़ॉल्ट रूप से जाता है। मैंने बस इस लाइब्रेरी से% userprofile% \ दस्तावेज फ़ोल्डर को हटा दिया है और इसके बजाय मेरा ड्रॉपबॉक्स फ़ोल्डर जोड़ा है। तो अब इस स्थान पर डिफ़ॉल्ट रूप से डायलॉग खोलें / सेव करें और जब मैं स्टार्ट -> डॉक्यूमेंट्स पर क्लिक करता हूं, तो यह मुझे मेरे ड्रॉपबॉक्स में ले जाता है।

अंत में, मैं iOS ऐप स्टोर दिशानिर्देशों के समान एप्लिकेशन के लिए कुछ प्रकार के मूल प्रमाणीकरण देखना पसंद करूंगा। लेकिन वे अपने ड्राइवरों पर हस्ताक्षर करने के लिए ड्राइवर निर्माता भी नहीं प्राप्त कर सकते हैं ...


1
तो दूसरे शब्दों में, आप सोचते हैं कि इसे उबारने के लिए कुछ भी नहीं किया जा सकता है, लेकिन यह ठीक है क्योंकि बेहतर विचार हैं जो चारों ओर तैर रहे हैं। +1।
रोमन स्टार्कोव

1

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

मुझे फ़ाइल सिस्टम के इतिहास के बारे में ज़्यादा जानकारी नहीं है, लेकिन मुझे ऐसा लगता है कि यह उस प्रणाली पर बहुत पहले ही महसूस कर लिया गया था और निष्पादन योग्य फाइलें दस्तावेजों की तुलना में मौलिक रूप से अलग "बात" हैं। तो उन लोगों को एक विशेष फ़ोल्डर (तब निर्देशिका कहा जाता है) C:\DOSमें भाग गया और उपयोगकर्ता मूल रूप से बाकी ड्राइव के नियंत्रण में था।

किसी ने भी वास्तव में भविष्यवाणी नहीं की कि वर्षों में कितना अधिक जटिल और असहनीय सिस्टम बन जाएगा और इससे क्या गड़बड़ होगी। मुझे लगता है कि यह समय है कि तकनीक को आधार बनाया जाए और बादलों के तालमेल का लाभ उठाया जाए। बोनस अंक अगर किसी कंपनी द्वारा करने से पहले एक काम करने योग्य ओपन-सोर्स समाधान निकाल लेता है :)


3
क्या इसके विपरीत करने का अधिक अर्थ नहीं होगा, अर्थात् केवल सिस्टम सामान को फ़ाइलों के रूप में संग्रहीत करने के लिए, और उपयोगकर्ता डेटा डेटाबेस में उपलब्ध है, खासकर अगर वेब सेवाओं के माध्यम से सिंक किया गया हो?
रोमन स्टार्कोव

1
हम्म, विवरण निश्चित रूप से कुछ fleshing बाहर की जरूरत है ... लेकिन मैं बनाने की कोशिश कर रहा था असली मुद्दा यह है कि केवल वास्तविक अवधि में दस्तावेज़ (यानी फ़ाइलें जो एक उपयोगकर्ता वास्तव में उस पर काम करता है, सिस्टम चलाने के साथ कुछ नहीं करना है) वास्तव में फिट फ़ाइल के रूपक में।
तिमवी

इसके अलावा, मुझे यकीन नहीं है कि यह मुद्दे को संबोधित करता है। यदि प्रोग्राम के पास उपयोगकर्ता दस्तावेज़ों को समर्पित भंडारण प्रणाली तक पहुंच है, तो वे अभी भी अपना कबाड़ वहाँ रख सकते हैं। जिस चीज की आवश्यकता होती है वह कुछ ऐसा होता है जो प्रोग्राम को बंद कर देता है, या तो तकनीकी माध्यम से या प्रोग्रामर को बस स्वेच्छा से बंद करने के लिए।
रोमन स्टार्कोव

रजिस्टर एक ऐसी प्रणाली थी और यह इतनी अच्छी तरह से काम नहीं करती थी। मुझे नहीं लगता कि appdata दृष्टिकोण जहां प्रोग्राम अपनी सेटिंग्स के साथ फ़ाइलों को संग्रहीत करते हैं वह बुरा है।
Pieter B

1

यहां तक ​​कि अगर कुछ प्रोग्राम अभी भी कुछ डेटा को दस्तावेज़ों में संग्रहीत करते हैं , तो मुझे लगता है कि अधिकांश डेटा को इसके बजाय AppData में संग्रहीत करते हैं , इसलिए वे पहले से ही सही दिशा में जा रहे हैं, हालांकि बहुत उपयोगकर्ता नहीं कर सकते हैं: प्रत्येक कार्यक्रम इसके लिए जिम्मेदार है कर देता है।


1
मैं सहमत हूँ; उपयोगकर्ता असहाय हैं। यह केवल प्रोग्रामर द्वारा हल किया जा सकता है।
रोमन स्टार्कोव

1

समाधान:
1. 'दस्तावेज़' फ़ोल्डर पर राइट क्लिक करें और 'स्थान' टैब चुनें।
2. 'दस्तावेज़' के स्थान को किसी अन्य स्थान पर बदलें जहाँ मैं 'C: \ Admin \ Configs' चुनता हूँ (एक बार ऐसा करने के बाद, सभी एप्लिकेशन, 'दस्तावेज़ों को लिखकर' C: \ Admin \ Configs को भेज दिया जाना चाहिए।

लेकिन यह केवल आधी समस्या को हल करता है, अगला चरण बहुत स्पष्ट होना चाहिए।

  1. 'C: \ User \\ प्रलेखन' में एक नया फ़ोल्डर बनाएँ

आपको उस निर्देशिका को पुस्तकालयों में जोड़ने और पुराने को हटाने में सक्षम होना चाहिए, मैंने जानबूझकर एक अलग फ़ोल्डर का नाम 'C: \ User \ ** दस्तावेज़ीकरण **' में सेट किया है, क्योंकि मैं यह सुनिश्चित करना चाहता था कि कुछ भी नहीं हो सकता है। फ़ोल्डर।

उपरोक्त तथ्य के कारण फ़ोल्डर 'दस्तावेज' आपके सी: \ उपयोगकर्ता में फिर से दिखाई देना चाहिए, बस फ़ोल्डर पर राइट क्लिक करें और इसे एक अदृश्य फ़ोल्डर बनाएं।


0

पाठ फ़ाइल में सेटिंग्स जमा करना एक कैच-ऑल-प्लेटफ़ॉर्म समाधान है।

जब तक डेवलपर्स क्रॉस-प्लेटफ़ॉर्म सेटिंग्स डेटाबेस मानक बनाने के लिए नहीं थे, मुझे लगता है कि हम में से अधिकांश उपयोगकर्ता निर्देशिका में डंप की गई पाठ फ़ाइलों का उपयोग करते रहेंगे।

हम में से जो स्मार्ट हैं वे सिस्टम के लिए अलग-अलग सेटिंग्स इंटरफेस बनाएंगे जो विशेष सेटिंग्स स्टोरेज इंजन (जैसे विंडोज रजिस्ट्री) की अनुमति देते हैं।


1
ध्यान दें कि "दस्तावेज़" फ़ोल्डर "उपयोगकर्ता" निर्देशिका नहीं है। "दस्तावेज़" फ़ोल्डर एक है सब-निर्देशिका उपयोगकर्ता की निर्देशिका की है, जो करने के इरादे था चाहिए जहां होने के लिए उपयोगकर्ता को बचाया अपने ही दस्तावेजों। समस्या यह है कि कार्यक्रमों ने अपने सामान को "दस्तावेज़" फ़ोल्डर में रखने का फैसला किया , भले ही कार्यक्रम सेटिंग्स के लिए बेहतर (और दस्तावेज के रूप में) जाने के लिए जगह हैं।
डीन हार्डिंग

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

सहमत, और फिर से - असली समाधान एक मानक क्रॉस-प्लेटफ़ॉर्म सेटिंग्स भंडारण इंजन है।
क्रेजी

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