रूट फ़ोल्डर नाम और सभी फ़ाइलों सहित संपूर्ण फ़ोल्डर संरचना बनाने के लिए xCopy का उपयोग करना


8

मैंने xCopyप्रश्नों के काफी कुछ समाधानों को देखा , और कई अंतर विधियों की कोशिश की। (विभिन्न वाइल्डकार्ड, अंत में रास्ते, xcopyविभिन्न संयोजनों में विभिन्न स्विच।)

xCopy c:\Public  d:\MyNewDir\

जब किया जाता है, तो मुझे सभी फ़ाइलों, फ़ोल्डरों, सबफ़ोल्डर्स, सब कुछ युक्त "सार्वजनिक" नामक एक फ़ोल्डर शामिल करने के लिए गंतव्य की आवश्यकता होती है।

परिणाम जैसा दिखेगा:

d:\MyNewDir\Public\(and everything inside it)

इस तरह नहीं:

d:\MyNewDir\(everything inside Public)

इतना सरल लगता है। इसके बजाय, मुझे कभी भी "सार्वजनिक" फ़ोल्डर नहीं बनाया गया। यह केवल "सार्वजनिक" .... के साथ सब कुछ बनाता है .... लेकिन कभी भी "सार्वजनिक" नहीं। (मेरे पास कॉपी करने के लिए कई फ़ोल्डर हैं, इसलिए मैं फ़ोल्डर्स को व्यक्तिगत रूप से नहीं बनाना चाहता हूं।)

क्या केवल xCopy और Windows 7 का उपयोग करके इस सरल समस्या का समाधान है?


ऐसा नहीं लगता है कि कॉपी / xcopy / robocopy इस मूल सुविधा का समर्थन करता है ... शायद शक्तियां .. या गंतव्य के लिए% ~ n1 का उपयोग करें (% 1 स्क्रिप्ट पर तर्क दिया जा रहा है) देखें: en.wikibooks.org/wiki/Windows_Batch-Scripting#Percent_tilde robocopy / z / e / mt% 1 D: \ Backups \% ​​~ n1 \
kevinf

जवाबों:


6

मुझे "सार्वजनिक" नामक फ़ोल्डर शामिल करने के लिए गंतव्य की आवश्यकता है

सभी फ़ाइलें, फ़ोल्डर, सबफ़ोल्डर, सब कुछ युक्त।

निम्नलिखित आदेश का उपयोग करें:

xcopy c:\Public\* d:\MyNewDir\Public /s /i
  • /s - फ़ोल्डर और सबफ़ोल्डर कॉपी करें

  • /i - यदि संदेह में, हमेशा मान लें कि गंतव्य एक फ़ोल्डर है जैसे कि गंतव्य मौजूद नहीं है।


आगे की पढाई


यदि बहुत सारी (छोटी) फाइलें हैं, तो /Qविकल्प का उपयोग करना एक अच्छा विचार हो सकता है ( "कॉपी करते समय फ़ाइल नाम प्रदर्शित न करें।" )। प्रतिलिपि प्रक्रिया के अंत में यह " 122546 File(s) copied" की तरह कुछ आउटपुट देगा ।
पीटर मोर्टेंसन

1

1, एक फ़ाइल में फ़ोल्डर संरचना enumerate:

dir /ad /b /s C:\ > D:\windir.txt

2, D:\windir.txtनोटपैड में खोलें और सभी C:\को शून्य से बदलें ; फाइल सुरक्षित करें

3, प्रत्येक निर्देशिका में निर्देशिका संरचना और फ़ाइलों की प्रतिलिपि बनाने के लिए forकमांड का उपयोग करें windir.txt:

for /f "delims=;" %a in (D:\windir.txt) do xcopy "C:\%a" "D:\MyNewDir\%a" /c /i /g /h /k /o /x /j /b /y

आप जोड़ सकते हैं /qयदि आप निर्देशिकाओं और फाइलों को नहीं देखना चाहते हैं क्योंकि वे कॉपी किए जा रहे हैं; मुझे सकारात्मक प्रतिक्रिया पसंद है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.