कैसे संरचना को रखने के लिए बस एक फ़ोल्डर xcopy में?


0

मान लीजिए कि मेरे पास निम्नलिखित संरचना है और वर्तमान कार्यशील निर्देशिका है root:

root
    - sub1
         file1.xml
         file2.xml
    - sub2
         file3.css
    - _target
         {is an empty folder}
    run.bat

मैं संरचना को ध्यान में रखते हुए xcopyकॉपी करना चाहता हूं । तो परिणाम है:sub1_target

- _target
    - sub1
        file1.xml
        file2.xml

लेकिन जब मैं मानकों (के यानी किसी भी संयोजन जोड़ने की कोशिश /I, /S, /Eके लिए) xcopyमैं हमेशा इस के साथ अंत:

- _target
    file1.xml
    file2.xml

सही मापदंडों के ऊपर एक प्राप्त करने के लिए (क्या हैं sub1में _targetइसकी सामग्री के साथ)?

मैंने \यूनिक्स cpके जादू के व्यवहार की नकल करने के लिए स्रोत और गंतव्य फ़ोल्डर के अंत में जोड़ने की कोशिश की , लेकिन इससे भी मदद नहीं मिली।

कृपया ध्यान दें कि मैं एक ऐसे समाधान की तलाश कर रहा हूँ जो अनावश्यक रूप से तर्क में फ़ोल्डर के नाम की नकल नहीं करता है ( इसका शीर्षक में "बस" से मेरा मतलब है ), मुझे पता है कि xcopy sub1 _target\sub1 /Iकाम करता है!

एक के रूप में अंतिम उपाय एक robocopyजवाब स्वीकार्य हो सकता है, लेकिन मैं वास्तव में पसंद करेंगे xcopyपैरामीटर डुप्लिकेट करने के बिना।


इसलिए आप निर्देशिका को उसकी सामग्री से कॉपी करना चाहते हैं, न कि केवल उसकी सामग्री से। मुझे नहीं पता, इस moveतरह से काम करता है। बा को स्थानांतरित करें, b निर्देशिका को a में स्थानांतरित करेंगे। लेकिन आपको पता है xcopy, एक वर्कअराउंड करना है md thedirectoryतो अपने स्रोत निर्देशिका की सामग्री को उस में xcopy करना ।
बार्लोप

सभी बहुत अच्छी तरह से अगर आप निर्देशिका को उसी नाम से कहीं और कॉपी करना चाहते हैं। लेकिन मान लीजिए कि आप किसी निर्देशिका की सामग्री को किसी अन्य नाम की निर्देशिका में कॉपी करना चाहते हैं। तथ्य यह है कि xcopy के साथ आप उस निर्देशिका को निर्दिष्ट करते हैं जिसकी सामग्री आप कॉपी करना चाहते हैं, जो आपको वह लचीलापन देता है। कई मौकों पर यह दो बार एक ही नाम नहीं हो सकता है।
बार्लोप

और अगर आपको लगता है कि उन अवसरों के कारण जहां यह दो बार एक ही नाम है, तो यह बहुत अधिक कीस्ट्रोक्स है, और डीओएस से विरासत में मिली एक कमी है, ठीक है, यह नहीं है जैसे कि लिनक्स दर्शन न्यूनतम कीस्ट्रोक्स है, बस फाइलों के बिना सूची की कोशिश करें, linux में .. आपको कुछ कमांड dir /ad
मिलनी चाहिए

इसके अलावा, यदि भाग्य निर्देशिका मौजूद नहीं है, तो xcopy आपको संकेत देता है कि क्या यह एक फ़ाइल या निर्देशिका है, इसलिए इसे पहले से केवल 'md' करना आसान है। और इसके अलावा, डॉस या सीएमडी के साथ, यदि आप डीआईआर ब्लाह करते हैं * तो आप जानते हैं कि यह क्या करने जा रहा है .. यह ब्लाह के साथ शुरू होने वाली सभी फाइलों / निर्देशिकाओं को सूचीबद्ध करेगा। लेकिन linux के साथ अगर आप ls blah * या ls / etc / ssh * करते हैं, तो जब तक आप कमांड करने से पहले डायरेक्टरी स्ट्रक्चर को नहीं जानते हैं, तब तक आप यह नहीं जानते कि आउटपुट blah से शुरू होने वाली फाइल है, या की सामग्री एक निर्देशिका जो ब्लाह से शुरू होती है। अतः linux में कुछ गंभीर कमियाँ हैं IMO।
बार्लॉप

आप पहले निर्देशिका बनाते हैं, न कि केवल इसलिए आपको इसे टाइप करने की आवश्यकता नहीं है (आप इसे कॉपी / पेस्ट द्वारा फिर से टाइप करने से बचा सकते हैं जो बहुत तेज है यदि आप cmd विंडो में क्विकडिट मोड चालू करते हैं), लेकिन आप निर्देशिका भी बनाते हैं पहले तो xcopy आपको यह पूछने का संकेत नहीं देता है कि क्या यह F-Folder या D-Directory है। और जब आपने xcopy से पहले डायरेक्टरी बना ली है, तो आप फिर से टैब का उपयोग कर सकते हैं। यहां तक ​​कि कॉपी / पेस्ट करने की भी आवश्यकता नहीं है, अकेले फिर से लंबे फ़ोल्डर नाम टाइप करें।
बार्लॉप

जवाबों:


0

समस्या यह है कि / एस और / ई प्रत्येक विरोधाभास है। या तो / S (सभी, खाली फ़ोल्डर को छोड़कर) का उपयोग करें या / E (सभी, खाली फ़ोल्डर सहित) का उपयोग करें।

मुझे यकीन है कि आप / ई एक का उपयोग करना चाहते हैं, तो आपकी xcopy होगी:

xcopy sub1 _target\sub1 /I /E

प्रश्न से उद्धृत करते हुए: " मैं एक ऐसे समाधान की तलाश कर रहा हूं, जो अनावश्यक रूप से तर्कों में फ़ोल्डर के नाम की नकल नहीं करता है [...] मुझे पता है कि xcopy sub1 _target\sub1 /Iकाम करता है! " ... तो क्या आप /Eवास्तव में प्रभाव के लिए योगदान करते हैं क्योंकि आप जोड़ा गया \sub1; यही कारण है कि यह सबडिर मैं चाहता हूँ बनाता है।
TWStStrrob

इसके अलावा /I /S /Eमैं कोशिश कर रहा था कई संयोजनों में से एक था, मैंने स्पष्ट किया कि।
TWStStrrob
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.