बैच फ़ाइल का उपयोग करके फ़ोल्डर की सभी सामग्री को दूसरे फ़ोल्डर में कॉपी करना?


130

मेरे पास एक फ़ोल्डर है C:\Folder1

मैं Folder1किसी अन्य स्थान की सभी सामग्रियों को कॉपी करना चाहता हूं ,D:\Folder2

मैं बैच फ़ाइल का उपयोग कैसे करूँ?

जवाबों:


163

xcopy.exeयहाँ समाधान है। यह विंडोज में बनाया गया है।

xcopy /s c:\Folder1 d:\Folder2

आप http://www.computerhope.com/xcopyhlp.htm पर अधिक विकल्प पा सकते हैं


3
हैलो हुसैन, मैंने xcopy / sc: \ Folder1 d: \ Folder2 कमांड को बैच फ़ाइल में आज़माया है, लेकिन यह मेरे लिए काम नहीं करता है। क्या आप मुझे अधिक मार्गदर्शन कर सकते हैं
SCM

हाय, हो सकता है आप अपने मशीन पर कि xcopy होने नहीं है .. फिर भी आप यहां से बैच फ़ाइल डाउनलोड कर सकते हैं brothersoft.com/xcopy-177904.html
eHussain

4
यदि आप खाली उपनिर्देशिका की प्रतिलिपि बनाना चाहते हैं तो आपको / s / e झंडे का उपयोग करना चाहिए।
अमीबा स्पूग्नोसा

क्या स्वचालित रूप से / ई शामिल नहीं है?
बजे

14
xcopyजब फ़ाइल का नाम 254 वर्णों से अधिक लंबा हो, तो उसे 'अपर्याप्त मेमोरी' त्रुटि दी जाती है। robocopyइसके बजाय का उपयोग करें : robocopy C:\Folder1 D:\Folder2 /COPYALL /E en.wikipedia.org/wiki/Robocopy
मार्को डेमायो

39

यदि आपके पास रोबोकॉपी है,

robocopy C:\Folder1 D:\Folder2 /COPYALL /E

अन्यथा,

xcopy /e /v C:\Folder1 D:\Folder2

1
यदि वह Folder1 की सामग्री की प्रतिलिपि बनाता है, तो यदि आप फ़ोल्डर को स्वयं कॉपी करना चाहते हैं तो आप क्या करते हैं?
काइल डेलाने

2
@KyleDelaney गंतव्य में स्रोत फ़ोल्डर का नाम शामिल करता है, जैसे "xcopy / e / v C: \ Folder1 D: \ Folder2 \ Folder1 \"
mghicks

1
ध्यान दें कि रोबोकोपी एक एस्केप चरित्र के रूप में \ का उपयोग करता है (सीएमडी नहीं करता है) , यदि आप कोशिश करते हैं और एक उद्धृत पथ में गुजरते हैं और एक अंत स्लेश की तरह "C:\My Folder\"आप एक बुरा आश्चर्य प्राप्त कर सकते हैं। मैं उस SS64 पेज को बहुत ध्यान से पढ़ने की सलाह देता हूं। "सीएमडी में एक भागने चरित्र क्या है" खरगोश छेद में नीचे की पूरी यात्रा के लिए, बैच स्क्रिप्ट में एस्केपिंग डबल कोट्स देखें ।
jrh

21

यदि आप वह संदेश निकालना चाहते हैं जो बताता है कि गंतव्य एक फ़ाइल या फ़ोल्डर है जिसे आप केवल एक स्लैश जोड़ते हैं:

xcopy /s c:\Folder1 d:\Folder2\


16

मुझे xcopy के उपयोग का सुझाव देने वाले बहुत सारे उत्तर दिखाई देते हैं। लेकिन यह अनावश्यक है। जैसा कि इस प्रश्न का स्पष्ट रूप से उल्लेख है कि लेखक फोल्डर में सामग्री चाहता है न कि स्वयं फ़ोल्डर को इस मामले में कॉपी किया जा सकता है: -

copy "C:\Folder1" *.*  "D:\Folder2"

xcopyयदि कोई उपनिर्देशिका मौजूद है तो सभी का उपयोग किया जा सकता हैC:\Folder1


1
यह काम नहीं करता है यदि आप जिस फ़ोल्डर की नकल कर रहे हैं वह अभी तक मौजूद नहीं है (मुझे विश्वास है) ताकि आप जोड़ना चाहेंmd D:\Folder2
मार्क डेवेन

2
मेरा copyकमांड (विंडोज 10 कमांड प्रॉम्प्ट) मुझे बताता है कि वाक्यविन्यास गलत है। निम्नलिखित वाक्यविन्यास सही होगा:copy "C:\Folder1\*.*" "D:\Folder2"
j00hi

4

रोबोकोपी ने मेरे लिए काम नहीं किया, और यहां कुछ अच्छे समाधान हैं, लेकिन एक्सकोपी स्विच और वे क्या करते हैं, यह किसी ने नहीं समझाया। इसके अलावा अगर आपके रास्ते में जगह है तो आपको उद्धरण चिह्नों की आवश्यकता है।

xcopy / i / e "C: \ temp \ folder 1" "C: \ temp \ folder 2"

यहाँ Microsoft से प्रलेखन है:

XCopy MS प्रलेखन

/s: Specifies to include subdirectories. Excludes empty subdirectories
/e: Copies all subdirectories, even if they are empty
/i: specifies the destination is a folder (Otherwise it prompts you)


2

मेरे पीसी पर, xcopy और robocopy को भी उनके लिए पथ की आवश्यकता है, अर्थात C: \ Windows \ System32 \ xcopy.exe

इसलिए मैं केवल "कॉपी": कॉपी / y .... \ Folder1 \ File.txt .... \ Folder2 \ _ का उपयोग करता हूं


2
@echo off
xcopy /s C:\yourfile C:\anotherfile\

यह कैसे किया जाता है! सरल, सही?


-1

FYI करें ... यदि आप TortoiseSVN का उपयोग करते हैं और आप समय-समय पर "सुरक्षित" स्थान में xcopy (या निर्देशिका दर्पण) संपूर्ण रिपॉजिटरी के लिए एक साधारण बैच फ़ाइल बनाना चाहते हैं, तो यह विशिष्ट कोड है जिसे आप उपयोग करना चाहते हैं। यह छिपी हुई निर्देशिकाओं / फाइलों पर कॉपी करता है, केवल-पढ़ने के लिए विशेषताएँ रखता है, और सभी उपनिर्देशिकाएँ और सभी के सर्वश्रेष्ठ, इनपुट के लिए संकेत नहीं देता है। बस सुनिश्चित करें कि आप फ़ोल्डर 1 (सुरक्षित रेपो) और फ़ोल्डर 2 (प्रयोग करने योग्य रेपो) को सही ढंग से असाइन करते हैं।

@echo off
echo "Setting variables..."
set folder1="Z:\Path\To\Backup\Repo\Directory"
set folder2="\\Path\To\Usable\Repo\Directory"
echo "Removing sandbox version..."
IF EXIST %folder1% (
    rmdir %folder1% /s /q
)
echo "Copying official repository into backup location..."
xcopy /e /i /v /h /k %folder2% %folder1%

और, यह है कि लोग!

अपने निर्धारित कार्यों में जोड़ें और कभी पीछे मुड़कर न देखें।


-2
@echo off
:: variables
echo Backing up file
set /P source=Enter source folder:
set /P destination=Enter Destination folder:
set xcopy=xcopy /S/E/V/Q/F/H/I/N
%xcopy% %source% %destination%
echo files will be copy press enter to proceed
pause

2
आपके कोड की व्याख्या से न केवल इस प्रश्न के पूछने वाले को बल्कि भविष्य के लोगों को भी लाभ होगा जो एक ही समस्या के समाधान की तलाश में इस पर ठोकर खाते हैं।
जोश बर्गेस

3
आपके पास कई झंडे हैं जो सीधे दूसरे झंडे का खंडन करते हैं। /Sखाली निर्देशिकाओं को छोड़कर निर्देशिकाओं और उपनिर्देशिकाओं की प्रतिलिपि बनाता है, जबकि /Eप्रतिलिपि बनाई गई निर्देशिकाओं और उपनिर्देशिकाओं सहित खाली वाले। /Qकॉपी करते समय फ़ाइलों के नाम प्रदर्शित नहीं करता है, जबकि कॉपी करते समय /Fपूर्ण स्रोत और गंतव्य फ़ाइल नाम प्रदर्शित करता है।
someDark

-2

मैंने एक अस्थायी फ़ोल्डर में फ़ाइल को कॉपी और पेस्ट करने के लिए एक .bat फ़ाइल लिखी है और इसे ज़िप करके एक smb माउंट पॉइंट में ट्रांसफर किया है, आशा है कि यह मदद करेगा,

    @echo off
    if not exist "C:\Temp Backup\" mkdir "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%"
    if not exist "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\ZIP" mkdir "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\ZIP"
    if not exist "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\Logs" mkdir "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\Logs"
    xcopy /s/e/q "C:\Source" "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%"
   Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\Logs"
    "C:\Program Files (x86)\WinRAR\WinRAR.exe" a  "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\ZIP\ZIP_Backup_%date:~-4,4%_%date:~-10,2%_%date:~-7,2%.rar" "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\TELIUM"
    "C:\Program Files (x86)\WinRAR\WinRAR.exe" a  "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\ZIP\ZIP_Backup_Log_%date:~-4,4%_%date:~-10,2%_%date:~-7,2%.rar" "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\Logs"
    NET USE \\IP\IPC$ /u:IP\username password
    ROBOCOPY "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\ZIP"  "\\IP\Backup Folder" /z /MIR /unilog+:"C:\backup_log_%date:~-4,4%%date:~-10,2%%date:~-7,2%.log"
    NET USE \\172.20.10.103\IPC$ /D
    RMDIR /S /Q "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%"
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.