मैं हमारे मुख्य भंडार से बाहर सभी आवश्यक फ़ाइलों की प्रतिलिपि बनाकर क्लाइंट सॉफ़्टवेयर बिल्ड बनाने के लिए रोबोकॉपी का उपयोग करने की कोशिश कर रहा हूं। हमारे पास कई ग्राहक हैं जिनके पास अपने कस्टम सॉफ्टवेयर बिल्ड की जरूरत है।
मेरे पास प्रत्येक ग्राहक के निर्माण के लिए आवश्यकताओं की एक सूची है। मेरी सोच पहले मुख्य सामान (बायनेरिज़ और इस तरह, सभी क्लाइंट्स द्वारा उपयोग की गई) को कॉपी करना है और फिर क्लाइंट विशिष्ट सामान की प्रतिलिपि बनाना है जिसके आधार पर मैं इन सूचियों का उपयोग करके निर्माण कर रहा हूं। हमारे पास कुछ ऐसा है जो पहले से ही xcopy के साथ काम कर रहा है।
स्पष्ट रूप से सामान का एक गुच्छा है जिसे मैं ग्राहक से अलग करना चाहता हूं जैसे कि स्रोत फ़ाइलें, लॉग फ़ाइलें और जाहिर है कि सभी ग्राहक विशिष्ट सामान। मैंने सोचा कि मैं इसका उपयोग करने में सक्षम हो जाऊं /xf
और /xd
स्विच का उपयोग करूं।
सभी आवश्यक जानकारी प्राप्त करने के बाद, निम्न कमांड बनाया गया है Lua
:
robocopy "Z:\path\to\source" "../dest" /e /xf *.cpp *.h *.hpp [[. . .]] *.cxx /xd Data/Testing Data/Some/Client/Data Data/Other/Client/Data [[ . . .]] Data/More/Directories
इसे चलाते समय मुझे निम्नलिखित आउटपुट मिलते हैं:
-------------------------------------------------------------------------------
ROBOCOPY :: Robust File Copy for Windows
-------------------------------------------------------------------------------
Started : Tuesday, August 1, 2017 11:15:59 AM
Source : Z:\path\to\source
Dest : ../dest
Files : *.*
Exc Files : *.cpp
*.h
*.hpp
[[. . .]]
*.cxx
Exc Dirs : Data/Testing
Data/Some/Client/Data
Data/Other/Client/Data
[[ . . .]]
Data/More/Directories
Options : *.* /S /E /DCOPY:DA /COPY:DAT /R:1000000 /W:30
------------------------------------------------------------------------------
आउटपुट मुझे बताता है कि मेरी कमांड ठीक से स्वरूपित है और रोबोकॉपी समझती है कि मैं इसे करने के लिए क्या कह रहा हूं।
समस्या यह है कि यह सीधे Exc dirs
सूची की अनदेखी कर रहा है और बस सब कुछ कॉपी कर रहा है। मैं पूरी Data
निर्देशिका को बाहर नहीं करना चाहता , लेकिन इसके अंदर केवल बिट्स जो प्रासंगिक हैं।
अगर मैं वापस स्लैश ( \
) का उपयोग करता हूं तो Exc dirs
आउटपुट प्रिंट होता है Data\\testing
। क्या यह मेरा मुद्दा हो सकता है?
/XD "Testing Data" "More"
करना चाहिए और वह काम करना चाहिए लेकिन उस नाम से मेल खाने वाले सभी सबफ़ोल्डर्स के लिए। "/z_Testing Data"
उदाहरण के लिए, यदि नाम अद्वितीय रूप से कार्य के अनुसार अन्यथा अद्वितीय नहीं है, तो आपको उन वर्णों के नामकरण वाले फ़ोल्डर को पुनर्विचार करने की आवश्यकता हो सकती है जिन्हें आप बाहर करना चाहते हैं और उन्हें अद्वितीय बनाना चाहते हैं । अन्यथा, मानक शीर्ष स्तर के मूल फ़ोल्डर उदा में बैकअप नहीं करने के लिए dirs लगाने पर विचार करें \NoBackup\Testing Data
। परीक्षण करने के लिए सरल।