क्या रोबोकॉपी एक मिनट से कम की समय वृद्धि पर फाइलों की निगरानी कर सकती है?


9

Robocopyस्रोत निर्देशिका की निगरानी करने का विकल्प है, और जो भी फ़ाइलें हैं उनमें बदलाव कर सकते हैं। आप यह निर्दिष्ट कर सकते हैं कि प्रतिलिपि बनाने से पहले निर्देशिका में कितने परिवर्तन होने चाहिए ( /mon nजहाँ nपरिवर्तनों की संख्या है) और कितने समय तक प्रतीक्षा करने से पहले ( /mot tजहाँ tमिनटों में प्रतीक्षा करने का समय है)।

मैं लगभग लगातार एक फ़ोल्डर की निगरानी करना चाहता हूं, क्योंकि केवल 1 फ़ाइल है जिसे मैं स्कैन कर रहा हूं, और मैं चाहता हूं कि बदलाव मूल रूप से तत्काल हों। मैं एक मिनट से भी कम समय के लिए रोबोकॉपी मॉनिटर नहीं बना सकता। मैंने कोशिश की है /mot 0.5और यह विफल रहता है। मैंने भी कोशिश की /mot 0और रोबोकॉपी सिर्फ एक बार स्कैन करने के बाद बाहर निकलता है, लगातार निगरानी के बिना।

मैं 1 मिनट से भी कम समय की वृद्धि के साथ एक फ़ोल्डर को कैसे बना सकता हूं? वैकल्पिक रूप से, क्या कोई अन्य कमांड लाइन उपकरण है जो लगातार फ़ाइल स्रोत की निगरानी कर सकता है और वास्तविक समय में परिवर्तनों को कॉपी कर सकता है?


क्या वह रोबोकॉपी है?
12c atιᴇ007

@ techie007 अगर वहाँ कुछ और है जो समान आवश्यकताओं को प्राप्त करता है, तो यह ठीक होगा, हालाँकि यदि संभव हो तो मैं थर्ड-पार्टी टूल्स से बचना चाहूँगा। लेकिन अगर वहाँ एक सही समाधान है कि तीसरे पक्ष है तो मैं इस पर विचार करने के लिए तैयार हूँ।
nhinkle

@ techie007 - मेरे पास nhink जैसी ही सटीक समस्या है, और मैं उसी सटीक तरीके से Robocopy का उपयोग कर रहा हूं। यदि आप एक वैकल्पिक समाधान के बारे में जानते हैं जो विंडोज पर अच्छा काम करता है तो मैं इसके लिए खुला हूं। कृपया इसे हमारे साथ साझा करें
Durden81

अब Freefilesync का परीक्षण करना .. यह मुझे आवश्यक उपकरण लगता है।
डरडेन81

जवाबों:


7

लड़ी

/mot:<M>
Monitors source, and runs again in M minutes if changes are detected.

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


1
हाँ, मैं "पिंग-एन 1-डब्ल्यू 500 1.2.3.4> एनयूएल" का उपयोग करके दूसरी नींद के लिए आधा सोता हूं, फिर इसे लूप कर देता हूं: LABEL और एक गोटो स्टेटमेंट (cmd में)
Stig Eide

12

आपके टैग राज्य आप Windows 8 का उपयोग कर रहे हैं। यह अच्छा है, क्योंकि आपके पास PowerShell, और नाम का एक आसान सा cmdlet है Register-ObjectEvent

एक टेक्स्ट फ़ाइल बनाएं, एक्सटेंशन को .ps1फ़ाइल में नीचे स्क्रिप्ट पेस्ट करने के लिए बदलें । $watchedFolderचर को उस फ़ोल्डर में बदलें जिसे आप देखना चाहते हैं। अपने रोबोकॉपी कमांड या जो भी शामिल करने के लिए डू-समथिंग फंक्शन को बदलें। स्क्रिप्ट चलाएं, जब तक स्क्रिप्ट चल रही है कि फ़ंक्शन चलेगा (लगभग तुरंत!) जब भी कोई फ़ाइल या फ़ोल्डर देखे गए फ़ोल्डर में बदल जाता है।

आप इस स्क्रिप्ट को विंडोज़ स्टार्टअप पर चला सकते हैं और यह टाइमर का उपयोग किए बिना हर समय पृष्ठभूमि में चल रहा होगा।

$block = {    
    function Do-Something
    {
        param ($message, $event)
        # function to call when event is raised
        # do a robocopy or whatever

        Start-Process cmd.exe "/C echo $("{0} {1}" -f $event.SourceEventArgs.FullPath, $message)&pause"
    }

    $watchedFolder = "C:\Users\Admin-PC\Desktop"
    $watcher = New-Object System.IO.FileSystemWatcher
    $watcher.Path = $watchedFolder

    Register-ObjectEvent -InputObject $watcher -EventName Created -SourceIdentifier File.Created -Action { Do-Something "Created" $event }
    Register-ObjectEvent -InputObject $watcher -EventName Deleted -SourceIdentifier File.Deleted -Action { Do-Something "Deleted" $event }
    Register-ObjectEvent -InputObject $watcher -EventName Changed -SourceIdentifier File.Changed -Action { Do-Something "Changed" $event }
    Register-ObjectEvent -InputObject $watcher -EventName Renamed -SourceIdentifier File.Renamed -Action { Do-Something "Renamed" $event }
}

$encodedBlock = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($block))

Start-Process PowerShell.exe -verb Runas -argumentlist '-WindowStyle Hidden', '-NoExit', '-EncodedCommand', $encodedBlock

इसे कार्रवाई में देखें


  1. बचाई गई स्क्रिप्ट चलाएं।
    बचाई गई स्क्रिप्ट चलाएं।

  2. आपको कंसोल विंडो फ्लैश दिखाई देगा, क्योंकि वे केवल एक संकेत को बंद करते हैं जो चल रहा है वह एक नई प्रक्रिया होगी।
    यहां छवि विवरण दर्ज करें

  3. परीक्षण करने के लिए अपने डेस्कटॉप पर कुछ सामान करें।
    यहां छवि विवरण दर्ज करें

  4. बनाई गई PowerShell प्रक्रिया को समाप्त करें जब आप इसे चलाना नहीं चाहते हैं।

कुछ पृष्ठभूमि की जानकारी - यदि आप इस उत्तर में प्रयुक्त उपकरणों से अपरिचित हैं।



यह सबसे अच्छा जवाब है। यह समाधान ईवेंट-चालित है, जिसका अर्थ है कि यह परिवर्तन होने तक कभी भी सीपीयू का उपयोग नहीं करता है, और फिर कार्यक्रम तुरंत प्रतिक्रिया में चलता है। इसके अलावा, उत्कृष्ट लेखन।
कूलहैंडलॉइस

5

DSynchronize एक स्टैंड-अलोन यूटिलिटी है जो आपको समय-समय पर हार्ड डिस्क, फ्लॉपी डिस्क, LAN, USB की, CD-DVD (पैकेट राइटिंग सॉफ्टवेयर के साथ) और FTP सर्वर पर दो या दो से अधिक फ़ोल्डरों को सिंक्रोनाइज़ करती है। यह वास्तव में सवाल के बारे में नहीं है, लेकिन निकटतम चीज़ जो मुझे मिल सकती है।

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

पेशेवरों:

  • वास्तविक समय सिंक है।
  • एक से अधिक फ़ोल्डर जोड़े जोड़ सकते हैं, और चुन सकते हैं कि कौन से जोड़े उनके बगल में चेकबॉक्स का उपयोग करते हुए एक निश्चित समय पर सक्रिय हैं।
  • कोई इंस्टॉलर, स्टैंडअलोन प्रोग्राम नहीं।
  • आप 'फ़िल्टर' बटन पर क्लिक करके पैटर्न के माध्यम से या संशोधित समय पर फ़ाइलों को बाहर कर सकते हैं या शामिल कर सकते हैं।
  • (अन्य; नीचे स्क्रीनशॉट देखें। चेकबॉक्स और बटन में अतिरिक्त सहायता टूलटिप्स हैं।)

विपक्ष:

  • एक जीयूआई उपयोगिता है, कोई कमांड-लाइन स्विच उपलब्ध नहीं है
  • फ़ोल्डर जोड़े सभी समान सेटिंग्स साझा करते हैं

स्क्रीनशॉट

रीयलटाइम सिंक विकल्प को 'विशेष विकल्प' अनुभाग के तहत स्क्रीनशॉट में चिह्नित किया गया है। यह वही होगा जो लक्ष्य के रूप में वर्णन करता है। यदि इसकी जाँच नहीं की गई है और आपके पास टाइमर सेट नहीं है, तो आप एक बार सिंक शुरू करने के लिए 'सिंक्रोनाइज़' बटन पर क्लिक कर सकते हैं।

दो फ़ोल्डरों को कैसे सिंक करें:

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

मुझे यह YouTube वीडियो भी मिला , जो सॉफ़्टवेयर को कार्रवाई में दिखाता है। यह एक पुराने संस्करण को दिखाता है और विकल्प एक ही स्थान पर नहीं हैं, लेकिन यह इस बात का एहसास कराता है कि सॉफ्टवेयर कैसे काम करता है।


प्रश्न पूछता है कि कुछ कैसे किया जाए (रोबोकॉपी में)। वैकल्पिक समाधान का सुझाव देना ठीक है, यह समझाते हुए कि किसी अन्य उपकरण का उपयोग करके उसी परिणाम को कैसे पूरा किया जाए। हालाँकि, यह नहीं समझाता है कि वास्तव में समस्या को कैसे हल किया जाए।
फिक्सर 1234

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

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

यदि आप किसी फ़ाइल साझाकरण सेवा का उपयोग करते हैं, तो बस अपनी छवि के लिए एक लिंक जोड़ें और कोई आपके लिए इसे एम्बेड करेगा। यदि आप नियमित रूप से एक का उपयोग नहीं करते हैं, तो बहुत सारे मुफ्त हैं (जैसे imgur.com)।
फिक्सर 1234

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