रोबोकॉपी का उपयोग करना और कई निर्देशिकाओं को छोड़कर


60

मैं बैकअप से पुनर्स्थापित करने से पहले सर्वर से कुछ निर्देशिकाओं को कॉपी करने की कोशिश कर रहा हूं (मेरा नवीनतम बैकअप भ्रष्ट था, इसलिए मुझे पुराने रिकवरी का उपयोग करना होगा :()) मैं विंडोज रिकवरी पर्यावरण में हूं और सर्वर की फाइल तक पहुंच है। सिस्टम G:\और मेरा बैकअप मीडिया C:\। लेकिन, चूंकि मैं लिनक्स से अधिक परिचित हूं, इसलिए मुझे विशेष रूप से विंडोज में कमांड लाइन के साथ थोड़ी परेशानी हो रही है robocopy

मैं कई निर्देशिकाओं (समान निर्देशिका संरचना को बनाए रखना) को G: \ से C: \ में दूसरों (अर्थात, Windows और प्रोग्राम फ़ाइलें फ़ोल्डर) को छोड़कर कॉपी करना चाहता हूं। मैं /XDविकल्प के लिए सिंटैक्स का पता नहीं लगा सकता। मैं ऐसा कुछ करने की उम्मीद कर रहा था:

robocopy G: C:\backup /CREATE /XD "dir1","dir2", ...

नोट: मैं स्पष्ट करना चाहता हूं कि मैं निर्देशिका संरचना को बनाए रखते हुए वास्तविक फ़ाइलों की प्रतिलिपि बनाना चाहता हूं। मैंने सिर्फ जाँच की, और /createकेवल खाली फाइलें बनाता है। अजीब।

जवाबों:


90

मैंने इसे थोड़ा परीक्षण और त्रुटि के साथ और /L(असली के लिए करने से पहले कमांड का परीक्षण करने के लिए) समझ लिया । मेरे साथ समाप्त होने वाली कमांड है:

robocopy G: C:\backup /MIR /XD G:\dir1 "G:\dir 2" G:\dir3 ...

जाहिरा तौर पर, अनुगामी स्लैश सहित, निर्देशिकाओं की सूची को सही ढंग से पार्स करने से रोबोकॉपी रखता है, इसलिए सुनिश्चित करें कि निर्देशिका नामों पर अनुगामी स्लैशों को शामिल न करें और नाम के रिक्त स्थान के साथ निर्देशिकाओं के आसपास उद्धरण रखना याद रखें।

/MIRजबकि फाइलों को कॉपी करने का विकल्प ही निर्देशिका संरचना को बनाए रखता है।

संपादित करें: कुछ और शोध के बाद, मैंने कमांड को थोड़ा सुधार दिया:

robocopy G: C:\backup /MIR /Z /LOG:C:\todaysdate-backup.log /XF *.iso *.log *.au /XD G:\dir1 ...

इस प्रकार हैं:

  • /Z नौकरी को फिर से शुरू करने की अनुमति देता है
  • /LOG:<logfile path> बहुत आत्म-व्याख्यात्मक है।
  • /XF कुछ फ़िल्टर्स को बाहर करने के लिए उपयोग किया जा रहा है, इसलिए इसमें इतना समय नहीं लगता है

1
/?विंडोज कंसोल कमांड के लिए मदद की जानकारी प्राप्त करने के लिए आप हमेशा स्विच का उपयोग कर सकते हैं । वहाँ भी helpकमांड है, जो लिनक्स के manकार्यक्रम के समान है , लेकिन मैंने इसे तीसरे पक्ष के कार्यक्रमों द्वारा उपयोग नहीं किया है (यह हो सकता है - मैं इससे परिचित नहीं हूं कि यह कैसे काम करता है, या यदि यह संभव है)।
बेन रिचर्ड्स

अरे, टिप्पणी के लिए धन्यवाद। मुझे लगा कि कोई helpकमांड है, लेकिन यह विंडोज रिकवरी एनवायरनमेंट में सक्रिय नहीं लगता है (मुझे "नो कमांड 'हेल्प' मिली" जैसी त्रुटि मिली)। रोबोकॉपी एक विंडोज़ डिफॉल्ट कमांड है जो xcopy को बदल दिया है और 3-पार्टी नहीं है।
गोरिल्लाएमसीडी

1
मुझे पता है कि यह एक विंडोज कमांड है, न कि तीसरी पार्टी। मैंने सिर्फ भविष्य के संदर्भ के लिए वहाँ रखा है, क्योंकि आपने कहा था कि आप विंडोज के कमांड वातावरण से परिचित नहीं हैं। :)
बेन रिचर्ड्स

2
स्पष्टीकरण: /MIR(मिरर ए टू बी) बी में मौजूद किसी भी फाइल को नष्ट कर देता है जो ए में मौजूद नहीं है। यह तब उपयोगी होता है जब आप जिस डायरेक्टरी को कॉपी कर रहे हैं वह पहले से मौजूद है, और आप चाहते हैं कि नया वर्जन (बी) ए का सटीक डुप्लिकेट हो। (जैसा कि वर्तमान में मौजूद है)।
शेरलहोमन

4

मुझे पता है कि यह ओपी के सवाल का जवाब नहीं देता है, लेकिन Google से यहां किसी को भी: यदि आप उद्धरण का उपयोग करते हैं तो एक्सडी नौकरी की फाइल में विफल हो जाएगी।

खराब:

::
:: Exclude These Directories :
::
    /XD     :: eXclude Directories matching these names
        "Temporary Internet Files"

अच्छा:

::
:: Exclude These Directories :
::
    /XD     :: eXclude Directories matching these names
        Temporary Internet Files

जितने चाहें उतने बहिष्करण रखें, उद्धरणों का उपयोग किए बिना, लाइन के बाद लाइन करें (चाहे रिक्त स्थान हों या नहीं)।

जिस तरह से मैंने इसे खोजा वह कमांड लाइन स्विच / SAVE का उपयोग करके था: myjobname जिसने मेरे उद्धृत निर्देशिकाओं के उद्धरण ले लिए!


4

आपको इस /XDभाग को दोहराना होगा

C:\>robocopy "C:\Users\weberjn\Google Drive" "u:\Google Drive" /e /dcopy:t /copy:DT /r:0 /XD "C:\Users\weberjn\Google Drive\photos" /XD "C:\Users\weberjn\Google Drive\Google Photos"

1

इसके लिए मेरा समाधान उन फ़ाइलों को बनाने के लिए था, जिनमें वे फाइलें या निर्देशिकाएं शामिल हैं जिन्हें मैं शामिल करना या बाहर करना चाहता हूं। मेरे पास इन फ़ाइलों में मेरे "बैकअप" फ़ोल्डर के तहत एक सबफ़ोल्डर "rcXcludes" है। फ़ाइलों के नामकरण के लिए मेरी विधि इस प्रकार है। मैं उन्हें "आरसी" (रोबोकॉपी के लिए) के साथ पेश करता हूं, फिर रोबोकॉपी कमांड में फ़ाइल सिस्टम के अनुप्रयोग या भाग के लिए कुछ पहचानने योग्य संकेतन, फिर "बी" या "आर" (बैकअप या पुनर्स्थापना के लिए) संलग्न करें, फिर मैं " या "एक्स" (शामिल या बहिष्कृत करने के लिए), फिर "डी" या "एफ" (निर्देशिका या फ़ाइल के लिए)। मैं प्रत्येक प्रविष्टि को दोहरे उद्धरण चिह्नों और प्रविष्टियों के बीच के स्थान के साथ घेरता हूं। एक "शामिल करें" फ़ाइल में फ़ाइलें या निर्देशिकाएं हो सकती हैं, लेकिन निर्देशिकाओं में एक पीछे की ओर पीछे होना चाहिए। निर्देशिकाओं के लिए "बहिष्कृत" फ़ाइल में आप एक पीछे आने वाले बैकस्लैश का उपयोग नहीं करते हैं। किसी भी निर्देशिका प्रविष्टियां रॉबोकॉपी कमांड में स्रोत पथ के सापेक्ष हैं। इनमें से किसी भी .txt फ़ाइलों की संपूर्ण सामग्री एक पंक्ति में और होनी चाहिएनहीं एक carraige वापसी लाइन फ़ीड है। मेरी बैच फ़ाइल में, मैं एक .ET / P कमांड का उपयोग एक चर में .txt फ़ाइल को आयात करने के लिए करता हूं। मैं तब FILES के लिए या बाद / XF या / XD के लिए इन चरों का उपयोग करता हूं। उदाहरण के लिए, पूरे "डिफ़ॉल्ट" फ़ोल्डर की नकल के बिना वर्तमान उपयोगकर्ता के क्रोम प्रोफ़ाइल का बैकअप लेने के लिए, मैं निम्नलिखित का उपयोग करता हूं।

rcChromeBIF.txt  
"Bookmarks" "Custom Dictionary.txt" "Extension Cookies" "Favicons" "History" "Login Data" "Preferences" "Top Sites" "Visited Links" "Web Data" "Databases\" "Extensions\" "Local Storage\" "Plugin Data\" "User Scripts\" "User StyleSheets\"

rcChromeBXF.txt  
"Bookmarks.bak" "ChromeDWriteFontCache" "Cookies" "Cookies-journal" "Current Session" "Current Tabs" "Extension Cookies-journal" "Favicons-journal" "Google Profile.ico" "History Provider Cache" "History-journal" "Last Session" "Last Tabs" "Login Data-journal" "Network Action Predictor" "Network Action Predictor-journal" "Network Persistent State" "Origin Bound Certs" "Origin Bound Certs-journal" "QuotaManager" "QuotaManager-journal" "README" "Secure Preferences" "Shortcuts" "Shortcuts-journal" "Top Sites-journal" "TransportSecurity" "Web Data-journal"

rcChromeBXD.txt  
"Application Cache" "Cache" "data_reduction_proxy_leveldb" "Extension State" "File System" "GPUCache" "IndexedDB" "JumpListIcons" "JumpListIconsOld" "Local Extension Settings" "Media Cache" "Pepper Data" "Platform Notifications" "Service Worker" "Session Storage" "Storage" "Thumbnails" "Web Applications"

बल्लेबाजी फ़ाइल में, C: \ Backup का कहना है।

REM ChromeBak.bat
SET chromeprofdir=Google\Chrome\User Data\Default
SET /P rcChrmBIF=<C:\Backup\rcXcludes\rcChromeBIF.txt
SET /P rcChrmBXF=<C:\Backup\rcXcludes\rcChromeBXF.txt
SET /P rcChrmBXD=<C:\Backup\rcXcludes\rcChromeBXD.txt
robocopy "%LOCALAPPDATA%\%chromeprofdir%" "H:\ChromeBackup\%chromeprofdir%" %rcChrmBIF% /E /ZB /COPY:DAT /DCOPY:T /MT:4 /XJ /XF %rcChrmBXF% /XD %rcChrmBXD% /R:10 /W:2 /TBD /NP /V /TS /Log+:"H:\ChromeBackup\ChromeBackup.log"
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.