परिवर्तनों के लिए एक फ़ोल्डर की निगरानी कैसे करें, और यदि यह विंडोज पर है, तो एक कमांड निष्पादित करें?


32

लिनक्स और मैक के लिए समान प्रश्न हैं , लेकिन मैं यहां विंडोज समाधान के बाद हूं।

समस्या इस प्रकार है: मैं एक फ़ोल्डर में कई (js) स्क्रिप्ट फ़ाइलों को लिखना चाहता हूं, और एक प्रोग्राम मॉनीटर है जिसमें फ़ाइल परिवर्तन और नई फ़ाइलों के लिए फ़ोल्डर जोड़ा जा रहा है, और जब भी ऐसा होता है तो एक कमांड चलाएं (उन सभी को एक में संकलित करने के लिए। एक दस्तावेज)।

समाधान के लिए है:

  1. फ़ोल्डर में, फ़ाइल परिवर्तन और नई फ़ाइलों को जोड़ा जा रहा है, दोनों की निगरानी करें।
  2. कोई भी बदलाव होने पर ही कमांड चलाएं ।

यह सबसे अच्छा होगा यदि यह या तो एक अंतर्निहित समाधान (जैसे एक JScript या VBscript स्निपेट) है, या ऐसा कुछ है जिसके लिए इंस्टॉलेशन की आवश्यकता नहीं है।


विंडोज़ के लिए कुछ ऐप्स के लिए इस ब्लॉग को देखें ।
विजय

जवाबों:


3

वहाँ एक प्रोग्राम है जिसे बेलवेडेरे कहा जाता है जो चाल कर सकता है।

http://ca.lifehacker.com/341950/belvedere-automates-your-self+cleaning-pc

यह एक स्टैंड अलोन विंडोज ऐप है जो बैकग्राउंड में चलता है।

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


वाह - कि एक सुपर अच्छा लग रहा है। मैं इसे एक उत्तर के रूप में चुनूंगा (भले ही मुझे पहले से ही जो मुझे दूसरे से चाहिए था) क्योंकि यह संभवतः मेरे द्वारा उपयोग किए जा रहे अन्य लोगों (और शायद भविष्य में मेरे लिए!) की तुलना में बहुत अधिक उपयोगी और बहुमुखी है। । +1 और स्वीकार किया!
कैमिलो मार्टिन

2
Belvedere ने मुझे अंततः विशेष रूप से कस्टम कमांड के साथ अनसुलझी बग्स से बाहर निकालने के लिए घंटों का समय गंवा दिया । इसके बजाय FolderMonitor आज़माएं (और "{0}{1}"उद्धरण सहित पैरामीटर फ़ील्ड में उपयोग करें)। केवल समस्या: आप प्रत्येक फ़ोल्डर के लिए एक अलग कमांड परिभाषित नहीं कर सकते। सिर्फ एक, विश्व स्तर पर।
14'14

@ bfred.it Belvedere के पास इसके मुद्दे हैं, लेकिन इसने मेरे लिए काम किया। FolderMonitor एक अच्छे समाधान की तरह भी दिखता है। मुझे लगता है कि यह एक उपयोगकर्ता प्रश्न पूछ है के साथ समाप्त हो गया
खतरों के खिलाड़ी

13

मुझे लॉग मॉनिटर नामक एक पुराने कार्यक्रम के साथ अच्छी सफलता मिली है। यह प्राचीन है, और बहुत पहले छोड़ दिया गया था। लेकिन यह बहुत अच्छी तरह से इस उद्देश्य को पूरा करता है।

http://www.freeware-guide.com/download/index2.html


1
आह, धन्यवाद। मैं वर्तमान में एक और उपयोगिता की कोशिश कर रहा हूं , लेकिन +1!
कैमिलो मार्टिन

यह शानदार "बात" पूरी तरह से विंडोज़ 10 पर काम कर रही है!
mboullouz

7

मैंने इस उद्देश्य के लिए एक सरल उपयोगिता बनाई है: https://github.com/benblamey/when_changed

उपयोग: कब_शामिल (फ़ाइल पथ) (कमांड) (वैकल्पिक-पैरामीटर)

उदाहरण के लिए, जब सी: \ somedir \ foo.txt myapp.exe बार वाइबल 123


मुझे पसंद है कि कैसे एक सुंदर एपीआई है। क्या यह पुनरावर्ती रूप से फ़ोल्डर्स का समर्थन करता है?
कैमिलो मार्टिन

हां: जब \ _ सींचा गया सी: \ **। Txt foo.exe मैं विंडोज के लिए github.com/joh/when-changed का नो-डिप संस्करण चाहता था ।
बेन

6

.NET वॉचफोल्डर्स के साथ यह कोड करना वास्तव में आसान है। मुझे यकीन है कि किसी ने इस तरह का कार्यक्रम किया है।

बस आपके लिए यह रत्न पाया गया http://www.guidingtech.com/9861/automate-folder-actions-windows-watch-4/free/


मुझे पता है कि .NET में इसे कोड करना कितना आसान है - मैं अभी नहीं चाहता था। लेकिन मैं कोशिश कर रहा हूँ यह एक जो मुक्त है, अभी भी काम कर सकते हैं! सिफारिश के लिए +1, वह भी अच्छा लगता है।
कैमिलो मार्टिन


2

यह एक ऐसी सामान्य आवश्यकता है जो मुझे आश्चर्य है कि ओएस में ही कोई सुविधाजनक उपयोगिता नहीं बनी है।

वैसे भी जैसा कि मैंने पहले उल्लेख किया है कि मैंने पिछले समय में लॉगमनीटर का सफलतापूर्वक उपयोग किया है। हालाँकि मुझे यह ब्लॉग पोस्ट जानकारीपूर्ण लगा और मैं अब वॉच 4 फ़ोल्डर का उपयोग कर रहा हूं ।

उम्मीद है कि यह आपकी मदद करता है।


+1, लेकिन मैं यह नहीं कहूंगा कि हमारे डेवलपर्स को छोड़कर किसी के लिए भी यह "सामान्य आवश्यकता" है ... और उस मामले के लिए, फ़ाइल सिस्टम की निगरानी के लिए सिस्टम कॉल हैं, जिससे मुझे "ओएस एकीकरण" के रूप में गिना जाता है।
कैमिलो मार्टिन

1
वैसे मैं इसे व्यवसायों और नेटवर्क शेयर के दृष्टिकोण से देख रहा था। आप हमेशा यह जानना चाहते हैं कि फाइलें गुम होने पर किसे दोषी ठहराया जाए: पी। मैं अभी ऐसी स्थिति का निदान करने के बीच में हूं: /
विजय


2

यदि आप JScript या VBScript का उपयोग करके बिल्ट-इन समाधान करना चाहते हैं, तो आप WMI इवेंट सब्सक्रिप्शन का उपयोग करके फ़ाइल सिस्टम मॉनिटरिंग के लिए क्या देखना चाहते हैं। मूल रूप से आप एक फ़ोल्डर की निगरानी करने के लिए कोड लिखते हैं और जब एक परिवर्तन का पता चलता है, तब कार्रवाई करते हैं:

  • __InstanceCreationEvent
  • __InstanceDeletionEvent
  • __InstanceModificationEvent

... और आपकी स्क्रिप्ट इन घटनाओं को होने वाले अंतराल पर देखती है। कई संसाधन हैं, लेकिन यहाँ VBScript और Powershell के लिए कुछ हैं:


1


NirSoft में Windows FolderChangesView पर फ़ाइलों की निगरानी के लिए सॉफ्टवेयर है

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

यहाँ छवि विवरण दर्ज करें

आप इसे और अधिक जानकारी के लिए यहाँ से डाउनलोड कर सकते हैं


एक स्वचालन एक से अधिक सूचनात्मक / डिबगिंग टूल का अधिक लगता है, लेकिन फिर भी दिलचस्प है।
कैमिलो मार्टिन

0

आप http://jnotify.sourceforge.net/ का उपयोग कर सकते हैं जो ओएस-विशिष्ट फाइलसिस्टम मॉनिटरिंग ईवेंट की सदस्यता लेता है। कोड वर्षों पुराना है, लेकिन फिर भी काम करता है (कम से कम विंडोज सर्वर 2013r2 पर मैं कल इसका परीक्षण कर रहा था)।

Https://github.com/redbooth/jnotify पर jnotify प्रोजेक्ट का github पुनरुत्थान भी है जो स्टैंडअलोन डेमो ऐप की पेशकश नहीं करता है लेकिन (कमिट लॉग्स के अनुसार) कुछ बग्स को पैच करता है।

जावा 7 में किसी तरह का इनोटिफ़ाइक जैसी फाइलसिस्टम घड़ी भी होनी चाहिए, लेकिन मैं अभी इसका परीक्षण नहीं कर रहा था।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.