मैं किसी भी बदले गए, जोड़े गए या हटाए गए फ़ाइलों या उप-निर्देशिकाओं के लिए फ़ाइल सिस्टम को मतदान करना चाहता हूं। सभी परिवर्तनों को जल्दी से पता लगाया जाना चाहिए लेकिन मशीन पर दबाव डाले बिना। ओएस विंडोज> = Vista है, मनाया गया हिस्सा एक स्थानीय निर्देशिका है।परिवर्तनों के लिए बड़ी संख्या में फाइलों को कैसे मतदान करना चाहिए?
आमतौर पर, मैं एक FileSystemWatcher का सहारा होगा, लेकिन यह है कि एक ही स्थान (प्रमुखता से, Windows Explorer) को देखने के लिए करने की कोशिश की अन्य कार्यक्रमों के साथ समस्याओं को प्रेरित किया। साथ ही, मैंने सुना है कि स्थानीय फ़ोल्डर और बड़े बफर के साथ भी एफएसडब्ल्यू वास्तव में विश्वसनीय नहीं है।
मुख्य मुद्दा रहा है कि फ़ाइलों और निर्देशिकाओं की संख्या बहुत बड़ी हो सकती है (लगता है कि 7 अंक) है। बस हर दूसरी फाइलों के लिए एक चेक चला रहा है जो मेरी मशीन को ध्यान से प्रभावित करता है।
मेरा अगला विचार समग्र प्रभाव को कम करने के लिए प्रति सेकंड पूरे पेड़ के विभिन्न हिस्सों की जांच करना था, और संभावित रूप से एक प्रकार का ह्यूरिस्टिक जोड़ना था, जो जल्दी उत्तराधिकार में अक्सर परिवर्तित होने वाली फ़ाइलों की जांच करना था।
अगर वहाँ इस तरह की समस्या के लिए पैटर्न हैं मैं सोच रहा हूँ, या अगर किसी को भी इस स्थिति के साथ अनुभव है।
क्या सभी उपफोल्डर एक ही रूट के नीचे हैं? विंडोज एक्सप्लोरर के साथ आपको किस तरह की समस्याएं थीं? यह सुनिश्चित करने के लिए एक पैटर्न है कि आप किसी भी संदेश को याद नहीं करते हैं। http://stackoverflow.com/questions/4967095/c-predict-file-system-events-on-folder-delete/4968391#4968391 – adrianm
@adrianm: हाँ, वही रूट। --- एक्सप्लोरर ने अपने दृश्य को अपडेट नहीं किया जब एक निगरानी फ़ोल्डर बदल गया, मुझे लगता है क्योंकि एफएसडब्ल्यू ने अपनी घटनाओं को चुरा लिया था। – mafu