सिद्धांत रूप में, का उपयोग करके /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 का उपयोग करने के बजाय कमांड-लाइन स्तर पर स्क्रिप्ट को संशोधित करने का प्रयास कैसे करें? मैं एक तथ्य के लिए जानता हूं कि कमांड-लाइन टूल वही करेगा जो आपको चाहिए।