सिद्धांत रूप में, का उपयोग करके /DCOPY:T
अपनी सभी समस्याओं को हल करना चाहिए।
लेकिन, मैंने ऐसा होता देखा है, और मुझे यकीन नहीं है कि मैं इसे "बग" कहूंगा, बल्कि संचालन के अनुक्रम का परिणाम होगा (ठीक है, बग)।
यह आदेश से सभी फाइलों को कॉपी करने के लिए काम करना चाहिए C:\Brushes
करने के लिए D:\NEWBrushes
, और /DCOPY:T
कारण चाहिए स्रोत फ़ोल्डर के timestamps गंतव्य फ़ोल्डर में कॉपी करने के लिए:
robocopy "C:\Brushes" "D:\NEWBrushes" /COPY:DAT /DCOPY:T
मैंने जो देखा है (कम से कम रोबोकॉपी के कुछ संस्करणों पर) वह यह है कि कमांड सफल होता है, लेकिन D:\NEWBrushes
फ़ोल्डर का टाइमस्टैम्प वर्तमान तिथि और समय पर सेट होता है।
तो ऐसा प्रतीत होता है कि यह /DCOPY:T
फीचर "आधार" (सबसे ऊपरी) फ़ोल्डर के लिए काम नहीं करता है जिसे आप कॉपी कर रहे हैं।
मुझे विश्वास है कि यह काम कर रहा है, लेकिन यह कि गंतव्य फ़ोल्डर का टाइमस्टैम्प ऑपरेशन द्वारा "कदम रखा" जा रहा है जो बाद में ऑपरेशन अनुक्रम में हैं।
मेरा मानना है कि इस आदेश के लिए हो रहा है:
robocopy "C:\Brushes" "D:\NEWBrushes" /COPY:DAT /DCOPY:T
कुछ इस तरह है:
D:\NEWBrushes
यदि यह पहले से मौजूद नहीं है तो फ़ोल्डर बनाएँ
- से टाइमस्टैम्प कॉपी
C:\Brushes
करने के लिएD:\NEWBrushes
- से फ़ाइलों और सब फ़ोल्डर की प्रतिलिपि
C:\Brushes
करने के लिएD:\NEWBrushes
ऐसा प्रतीत होता है कि चरण 3, फ़ोल्डर की सामग्री के संशोधन के D:\NEWBrushes
कारण टाइमस्टैम्प D:\NEWBrushes
बदल जाता है।
मेरे लिए, "वर्कअराउंड" robocopy
फ़ाइलों और फ़ोल्डरों को कॉपी करने के लिए कमांड चलाने के लिए किया गया है , फिर robocopy
दूसरी बार (समान) कमांड चलाएं ।
तो, पहली बार जब आप दौड़ते हैं:
robocopy "C:\Brushes" "D:\NEWBrushes" /COPY:DAT /DCOPY:T
सभी फ़ाइलों और फ़ोल्डरों की प्रतिलिपि बनाई जाएगी। फिर इसे फिर से चलाना:
robocopy "C:\Brushes" "D:\NEWBrushes" /COPY:DAT /DCOPY:T
(or)
robocopy "C:\Brushes" "D:\NEWBrushes" /DCOPY:T
दूसरी बार robocopy
चलता है, किसी भी फाइल या फ़ोल्डर D:\NEWBrushes
को संशोधित नहीं किया जाएगा, और /DCOPY:T
विकल्प robocopy
टाइमस्टैम्प C:\Brushes
को D:\NEWBrushes
(जब तक कि फ़ोल्डर / फाइलें C:\Brushes
पहले भाग के बाद से बदल गए हैं robocopy
) से कॉपी करने के लिए बताएगा ।
rsync
, लेकिन क्या होगा यदि आपके पास अपने लक्ष्य फ़ोल्डर के अंत में एक अनुगामी स्लैश नहीं है? GUI का उपयोग करने के बजाय कमांड-लाइन स्तर पर स्क्रिप्ट को संशोधित करने का प्रयास कैसे करें? मैं एक तथ्य के लिए जानता हूं कि कमांड-लाइन टूल वही करेगा जो आपको चाहिए।