सवाल robocopy स्थानांतरण फ़ाइल और फ़ोल्डर नहीं


मैं उपयोग करने की कोशिश कर रहा हूँ robocopy एक स्थान से दूसरे स्थान पर एक फ़ाइल को स्थानांतरित करने के लिए robocopy ऐसा लगता है कि मैं हमेशा एक फ़ोल्डर निर्दिष्ट कर रहा हूँ। यहाँ एक उदाहरण है:

robocopy "c:\transfer_this.txt" "z:\transferred.txt"

लेकिन मुझे इसके बजाय यह त्रुटि मिलती है:

2009/08/11 15:21:57 ERROR 123 (0x0000007B) Accessing Source Directory c:\transfer_this.txt\

(ध्यान दें \ के अंत में transfer_this.txt)

लेकिन अगर मैं इसे पूरे फ़ोल्डर की तरह मानता हूं:

robocopy "c:\folder" "z:\folder"

यह काम करता है लेकिन फिर मुझे फ़ोल्डर में सबकुछ स्थानांतरित करना होगा।

मैं केवल एक फ़ाइल को कैसे स्थानांतरित कर सकता हूं robocopy?


90
2017-08-11 22:29


मूल


def copyFile(fromLocation,toLocation,big=False): print("copy file from " + fromLocation + " to " + toLocation) if big: iFind=fromLocation.rfind('\\') fromLocation1 = fromLocation[: (iFind+1)] fileName=fromLocation[iFind+1 :] toLocation1 = toLocation[:(toLocation.rfind('\\')+1)] strcmd="robocopy "+fromLocation1+" "+toLocation1+" "+fileName print(strcmd) os.system(strcmd) else: shutil.copy2(fromLocation,toLocation) - Gank


जवाब:


देख: Robocopy /?

उपयोग: रोबोकॉपी स्रोत गंतव्य [फ़ाइल [फ़ाइल] ...] [विकल्प]

robocopy c:\folder d:\folder transfer_this.txt

116
2017-08-11 22:37



fwiw, कम से कम win2003 पर: निर्देशिका पथ उद्धरण यह हिचकी लग रहा है। - samsmith
@ samsmith मैंने इसे बंद कर दिया है जब आपके पास समापन उद्धरण से पहले \ यानी है: यानी: ROBOCOPY "c: \ folder1 \" c: \ folder2 फ़ाइल काम नहीं करेगी लेकिन: ROBOCOPY "c: \ folder1" c: \ folder2 फ़ाइल करता है। मुझे उम्मीद है कि यह एक चीज से बचने वाली चीज है - Mike Goatly
@ माइकगोटेली उत्कृष्ट बिंदु। रोबोकॉपी पीछे की तरह पसंद नहीं है \। यह चाहता है कि आप निर्देशिकाओं को "नाम" के रूप में नामित करें और किसी भी तरह से यह इंगित नहीं करना चाहते कि यह किसी निर्देशिका के अलावा कुछ भी स्वीकार करता है। - samsmith


Robocopy पर विकिपीडिया लेख के अनुसार:

फ़ोल्डर कॉपीियर, फ़ाइल कॉपी नहीं है

रोबोकॉपी सिंटैक्स मानक प्रति कमांड से काफी अलग है, क्योंकि यह केवल फ़ोल्डर नामों को इसके स्रोत और गंतव्य तर्क के रूप में स्वीकार करता है। फ़ाइल नाम और वाइल्ड-कार्ड वर्ण (जैसे *.*) मान्य स्रोत या गंतव्य तर्क नहीं हैं। फ़ाइलों को वैकल्पिक फाइलपेक फ़िल्टरिंग तर्क का उपयोग करके चुना या बहिष्कृत किया जा सकता है। फाइलस्पेक्स केवल कॉपी करने के लिए पहले से चुने गए फ़ोल्डरों के सापेक्ष फ़ाइल नामों का संदर्भ ले सकता है। पूरी तरह से योग्य पथ नाम समर्थित नहीं हैं।

उदाहरण के लिए, फ़ाइल की प्रतिलिपि बनाने के लिए foo.txt निर्देशिका से c:\bar सेवा मेरे c:\baz, कोई निम्नलिखित वाक्यविन्यास का उपयोग कर सकता है:

robocopy c:\bar c:\baz foo.txt


16
2017-08-30 23:47



एक बात मैंने देखा। यदि सी: \ बार में इसमें कोई फ़ोल्डर है और विकल्प / ई जोड़ा गया है। यह उन सभी फ़ोल्डर्स को फिर से बनाएगा जिनमें कोई फाइल नहीं है। मुझे लगता है कि foo.txt फ़िल्टर की तरह कार्य करता है और उन फ़ोल्डर्स में कोई भी फाइल नहीं ढूंढ पाती है और आपके खाली फ़ोल्डरों को रखती है। Thats क्यों खाली फ़ोल्डर बना रहे हैं। - Donny V


गंतव्य से पहले एक जगह डालने का प्रयास करें, इस तरह:

robocopy "c:\transfer_this.txt" "z: \this.txt" 

अंतरिक्ष पर ध्यान दें  गंतव्य "फ़ोल्डर" के बाद z:


1
2018-06-29 20:37



यह मेरे लिए काम नहीं करता था, मुझे @ केपीडब्ल्यूआईएनसी के निर्देशों का पालन करना पड़ा और फ़ाइल पथ को स्रोत पथ से बाहर करना पड़ा। - influent
यह एक ट्रोल जवाब है? कोशिश की और काम नहीं करता (न ही ऐसा लगता है जैसे यह काम करता)। - Pacerier


रोबोकॉपी क्यू: \ एफ: \ डॉपबॉक्स "माइक्रोसॉफ्ट ऑफिस.जिप" / एमटी: 128


-4
2018-06-04 10:31



रोबोकॉपी स्रोत गंतव्य फ़ाइल नाम - Dale
स्पष्टीकरण के बिना एक आदेश एक उपयोगी जवाब नहीं है। - kasperd