सबसे पहले कौन सी फाइल को कॉपी करता है?


0

अपने C # एप्लिकेशन में, मैं /sसब-फोल्डर को कॉपी करने के विकल्प के लिए रोबोकॉपी का उपयोग कर रहा हूं ।

मान लीजिए कि मेरे पास पिछले महीने की फाइलें और फ़ोल्डर हैं।

यह कौन सी फ़ाइल पहले कॉपी करेगा, नवीनतम एक या एक पुरानी है?

क्या कोई ऐसा तरीका है जिससे हम यह निर्दिष्ट कर सकते हैं कि उसे पुरानी फाइल को पहले कॉपी करना चाहिए या इसके विपरीत?


मुझे उम्मीद है कि यह केवल वर्णानुक्रम में जाना होगा ... और इससे कोई फर्क नहीं पड़ता कि किसी भी रास्ते में कौन सी ऑर्डर फाइलें कॉपी की जाती हैं?

अगर समस्या मेरी aap को होती है ... तो उसे नवीनतम फाइल को पहले कॉपी करना चाहिए

वर्णानुक्रम में ... या वैसे भी आप इस बात पर भरोसा नहीं कर सकते हैं कि यह पहले या आखिरी की क्या नकल करता है। इसके अलावा रॉबर्ट का समर्थन करें, यह क्यों मायने रखता है?

यह मेरे ऐप के लिए मायने रखता है .... यही कारण है कि मैं जानना चाहता हूं ..... और पता है कि क्या इसके साथ कोई विकल्प है जो मैं इसे नियंत्रित कर सकता हूं?

1
वास्तव में मेरा सोर्स फोल्डर 20GB बड़ा लॉग है, और मैं चाहता हूं कि हाल ही के लॉग्स को कॉपी करें .... यदि बीच में कोई समस्या आती है तो कम से कम उपयोगकर्ता को हाल ही में लॉग्स प्राप्त करने चाहिए।

जवाबों:


2

रोबोकॉपी फ़ाइलों और निर्देशिकाओं को पहले कॉपी करेगा, जो पहले ओएस से प्राप्त करता है। यदि आप एक विशिष्ट आदेश चाहते हैं - आपको इसका ध्यान रखना होगा:

  • अपनी फ़ाइलों को सूचीबद्ध करें
  • उन्हें दिनांक के अनुसार आदेश दें
  • प्रत्येक फ़ाइल के लिए कॉल रोबोकॉपी

इससे आपकी समस्या हल हो जानी चाहिए।


अगर मैं उन्हें तारीख से आदेश दे रहा हूं .... कौन सी फाइलें या निर्देशिका यह पहले नवीनतम या पुराने वाले लेता है? मैं चाहता हूं कि मेरी हाल की फ़ाइल या निर्देशिकाओं को पहले कॉपी किया जाए ... मैं क्या कर सकता हूं?

1
इस बात पर निर्भर करता है कि आप उन्हें कैसे ऑर्डर करते हैं - आपके द्वारा ऑर्डरिंग एल्गोरिथम लागू किया जाना चाहिए - इसलिए आप अंतिम-संशोधन की तारीख पर एक बुलबुले, क्विकसॉर्ट, आदि करते हैं। यहाँ आप एक बुदबुदाहट का कार्यान्वयन पा सकते हैं: codecodex.com/wiki/Bubble_sort

2

यदि आप नई (हालिया) फ़ाइलों को पहले कॉपी करना चाहते हैं, तो आप रोबोकॉपी /MAXAGE:nऔर /MINAGE:nकमांड लाइन विकल्पों का उपयोग कर सकते हैं ।

आपको 2 या अधिक बार Robocopy चलाना होगा (यह निर्भर करता है कि आप फ़ाइलों की "उम्र" द्वारा फाइल कॉपी ऑर्डर को कितना नियंत्रित करना चाहते हैं)।

यहाँ /MAXAGE:nऔर /MINAGE:nकमांड लाइन विकल्पों के बारे में जानकारी दी गई है :

/MAXAGE:n :: MAXimum file AGE - exclude files older than n days/date.
/MINAGE:n :: MINimum file AGE - exclude files newer than n days/date.
    (If n < 1900 then n = n days, else n = YYYYMMDD date).

उदाहरण के लिए सरलतम स्थिति में, आप पहले उन फ़ाइलों की प्रतिलिपि बना सकते हैं जो AT-MOST 1 दिन पुरानी हैं, फिर जब वह पूर्ण हो जाए, तो उन सभी फ़ाइलों को कॉपी करें जो AT-LEAST 1 दिन पुरानी हैं। यहाँ इस (पहले) उदाहरण के लिए 2 Robocopy कमांड लाइन हैं:

First run of Robocopy:
    robocopy "C:\source\path" "C:\dest\path" /S /COPY:DAT /DCOPY:T /MAXAGE:1
Second run of Robocopy:
    robocopy "C:\source\path" "C:\dest\path" /S /COPY:DAT /DCOPY:T /MINAGE:1

यदि आप इससे अधिक नियंत्रण चाहते हैं, तो आप 2 विकल्पों को जोड़ सकते हैं। उदाहरण के लिए:

  1. 1-दिन पुरानी AT-MOST वाली सभी फ़ाइलों को पहले कॉपी करें
  2. फिर उन फ़ाइलों को कॉपी करें जो AT-LEAST 1 दिन पुरानी हैं, और AT-MOST 2 दिन पुरानी हैं
  3. फिर उन फ़ाइलों को कॉपी करें जो AT-LEAST 2 दिन पुरानी हैं, और AT-MOST 3 दिन पुरानी हैं
  4. फिर उन फ़ाइलों को कॉपी करें जो AT-LEAST 3 दिन पुरानी हैं, और AT-MOST 5 दिन पुरानी हैं
  5. फिर उन फ़ाइलों को कॉपी करें जो AT-LEAST 5 दिन पुरानी हैं (सभी शेष फ़िलिया)

इस (दूसरी) उदाहरण के लिए रोबोकॉपी कमांड लाइन इस प्रकार हैं:

robocopy "C:\source\path" "C:\dest\path" /S /COPY:DAT /DCOPY:T /MAXAGE:1
robocopy "C:\source\path" "C:\dest\path" /S /COPY:DAT /DCOPY:T /MAXAGE:2 /MINAGE:1
robocopy "C:\source\path" "C:\dest\path" /S /COPY:DAT /DCOPY:T /MAXAGE:3 /MINAGE:2
robocopy "C:\source\path" "C:\dest\path" /S /COPY:DAT /DCOPY:T /MAXAGE:5 /MINAGE:3
robocopy "C:\source\path" "C:\dest\path" /S /COPY:DAT /DCOPY:T /MINAGE:5


यदि आप उस आदेश को देखना चाहते हैं जो Robocopy फ़ाइलों की प्रतिलिपि बनाने के लिए उपयोग करेगा, तो आप /Lविकल्प का उपयोग कर सकते हैं :

robocopy "C:\source\path" "C:\dest\path" /S /COPY:DAT /DCOPY:T /MAXAGE:1 /L

/Lविकल्प के साथ , रोबोकॉपी सिर्फ उन फाइलों को सूचीबद्ध करेगी जो " कॉपी " की जाएंगी, लेकिन वास्तव में किसी भी फाइल को कॉपी नहीं करेंगी।

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