Υπάρχουν δύο βασικές εντολές στο Command Prompt των Windows για να κάνετε backup τα προσωπικά σας αρχεία. Το Xcopy και το Robocopy; Ποιες είναι οι διαφορές τους και που πρέπει να χρησιμοποιήσετε το κάθε ένα;

Υπάρχουν δύο βασικές εντολές στο Command Prompt των Windows για να κάνετε backup τα προσωπικά σας αρχεία. Το Xcopy και το Robocopy; Ποιες είναι οι διαφορές τους και που πρέπει να χρησιμοποιήσετε το κάθε ένα;

Τι κάνετε συνήθως αν θέλετε να αντιγράψετε ένα αρχείο σε ένα υπολογιστή που τρέχει Windows; Κανονικά ανοίγετε την εξερεύνηση αρχείων και χρησιμοποιείτε τη βασική εντολή αντιγραφής copy – paste με τις συντομεύσεις Ctrl + C και Ctrl + V.
Το γνωρίζετε ότι υπάρχουν πιο προηγμένα εργαλεία για αυτή την εργασία; Μιλάμε για τα ενσωματωμένα στην Γραμμή Εντολών, βοηθητικά προγράμματα αντιγραφής αρχείων, Xcopy και Robocopy. Πάμε να τα δούμε αρκετά εκτενέστερα.

Η εντολή Xcopy είναι ένα πολύ ισχυρό εκτεταμένο αντίγραφο επειδή σας επιτρέπει να αντιγράψετε πολλά αρχεία ή ολόκληρα τα δέντρα καταλόγου από τον έναν κατάλογο στον άλλο, αλλά και σε ένα δίκτυο.
Διαθέτει τρία σημαντικά χαρακτηριστικά: απευθείας αντιγραφή του καταλόγου, αναγνώριση ενημερωμένων αρχείων και εξαίρεση αρχείων με βάση τα ονόματα και τις επεκτάσεις αρχείων.

Το Robocopy αντιπροσωπεύει το Robust File Copy (θα το μεταφράζαμε Στιβαρό Αντίγραφο Αρχείου).
Κατασκευάστηκε για να είναι πιο στιβαρό από το Xcopy καθώς εκτελεί πολύπλοκες ή μεγάλες λειτουργίες αντιγραφής αρχείων, πολύ πιο γρήγορα από την βασική εντολή αντιγραφής.
Το Robocopy είναι σαν ένα ελβετικό μαχαίρι στρατού για διαχειριστές συστήματος. Είναι ιδιαίτερα ωφέλιμο για προγραμματιστές που ασχολούνται με εκτεταμένες δομές καταλόγου και μεγάλους όγκους αρχείων.

Ας δούμε τις διαφορές των δύο εντολών σε πέντε σημεία: υποστηριζόμενο λειτουργικό σύστημα, mirroring, χαρακτηριστικά, παρακολούθηση και αυτοματοποίηση.
Υποστηριζόμενο λειτουργικό σύστημα
Mirroring
Χαρακτηριστικά
Αυτά τα χαρακτηριστικά είναι αρκετά σημαντικά για να διατηρείτε μια σωστή δομή καταλόγου, ειδικά όταν αντιγράφετε αρχεία ως διαχειριστής.
Παρακολούθηση
Οι παράμετροι /MON:x και /MOT:y στο Robocopy λειτουργούν περίπου ως εξής:
/MON:x = αντέγραψε το αρχείο στον προορισμό με x ή περισσότερες αλλαγές
/MOT:y = θα σας βοηθήσει να ελέγχετε το αρχείο κάθε y λεπτά για τυχόν αλλαγές και στη συνέχεια να αντιγράψετε το αρχείο όταν υπάρχουν κάποιες αλλαγές σε αυτό.
Αυτοματισμός
Όταν θέλετε να δημιουργήσετε καθημερινά αντίγραφα ασφαλείας ή να κάνετε κάποιες μεγάλες εργασίες ενημέρωσης κώδικα που μπορεί να χρειαστούν λίγο χρόνο, αλλά χωρίς καμία αλληλεπίδραση, η αυτοματοποίηση είναι μια αρκετά καλή επιλογή.
Η παράμετρος /RH στο Robocopy σάς δίνει τη δυνατότητα να ορίσετε πότε πρέπει να γίνουν τα αντίγραφα αντί να ρυθμίσετε την ώρα της εντολής, όπως με το Xcopy.
Ταυτόχρονα, η διαδικασία robocopy.exe θα εμφανίζεται στο task list (λίστα εργασιών) σας, αφού θα ελέγχει το ρολόι για να αναζητήσει πότε πρέπει να κάνει αντιγραφή και θα περιέχει επίσης μία καταγραφή με την επιλογή /LOG:file.

Εντολή Xcopy
Η σύνταξη της εντολής Xcopy είναι ως εξής: Xcopy [“πηγή”] [“προορισμός”] [επιλογές].
Ας δούμε ένα παράδειγμα:
Ας υποθέσουμε ότι θέλετε να αντιγράψετε ένα αρχείο που ονομάζεται Source.reg από το φάκελο News2023 της μονάδας δίσκου C στο φάκελο “News2024” της μονάδας δίσκου E. τότε με χρήση της εντολής Xcopy θα γράψετε
XCOPY "C:\News2023\Source.reg" "E:\News2024" /I
Συνιστάται να προσθέτετε εισαγωγικά σε κάθε διαδρομή για να αποφύγετε τυχόν σφάλματα, όταν το όνομα του αρχείου και του φακέλου είναι πάνω από 8 χαρακτήρες ή περιέχει κενά.
Όσον αφορά την αντιγραφή ενός φακέλου που περιλαμβάνει όλους τους υποφακέλους, πρέπει να χρησιμοποιήσετε την ακόλουθη εντολή:
XCOPY "C:\News2023" "E:\News2024" /S /I
Σχετικά με τις βασικότερες παραμέτρους της Xcopy:
Αν θέλετε να δείτε ένα παράδειγμα πως θα κάνετε ένα αυτοματοποιημένο backup των αρχείων σας με χρήση της Xcopy, διαβάστε το άρθρο μας: xcopy – Windows 11: Πώς να δημιουργήσετε αντίγραφα ασφαλείας.
Παράδειγμα
Αν θέλετε να κάνετε ένα αυτόματο backup διαφόρων φακέλων σε ένα συγκεκριμένο δίσκο, τότε μπορείτε να φτιάξετε ένα txt αρχείο και μέσα να γράψετε το εξής κείμενο:
@echo off
REM Συγκεκριμένοι φάκελοι προς δημιουργία backup
set "source_folder1=C:\path\to\source"
set "destination_folder1=D:\path\to\destination"
REM Εκτέλεση του xcopy για τη δημιουργία του backup
xcopy "%source_folder1%" "%destination_folder1%" /E /H /Y /I /D /C /K /R /S
pause
Μετονομάστε το όνομα.txt αρχείο σε όνομα.bat για να γίνει εκτελέσιμο, και τρέξτε το είτε χειροκίνητα, είτε μέσω του χρονοδιαγράμματος εργασιών των Windows.
Το παραπάνω παράδειγμα αντιγράφει όλα αρχεία του source_folder1 στο destination_folder1, μαζί με όλους του υποφακέλους ( /S ) τους, και μόνο τα αρχεία που έχουν αλλάξει, δηλαδή κάνει ένα επαυξητικό αντίγραφο ασφαλείας ( /D ).
Εντολή Robocopy
Η βασική σύνταξη της εντολής Robocopy είναι: Robocopy [πηγή] [προορισμός] [αρχεία] [επιλογές].
Η Robocopy είναι ένα τόσο ισχυρή σαν εργαλείο μεταφοράς αρχείων που έχει περισσότερους από 80 διακόπτες!.
Ας δούμε ένα παράδειγμα:
Ας πούμε ότι θέλετε να μεταφέρετε δύο αρχεία, το arxeio1.doc και to arxeio2.xls από το C:\dimitris στο D:\iguru ως παράδειγμα. Μπορείτε να αντικαταστήσετε αυτά τα ονόματα με τα δικά σας. Στο δικό μας παράδειγμα θα πρέπει να δώσετε την εντολή:
robocopy D:\dimitris E:\iguru arxeio1.doc arxeio2.xls
Συνιστάται να προσθέτετε εισαγωγικά σε κάθε διαδρομή για να αποφύγετε τυχόν σφάλματα, όταν το όνομα του αρχείου και του φακέλου είναι πάνω από 8 χαρακτήρες ή περιέχει κενά.
Αν θέλετε απλά να ανατιγράψετε όλο το αρχείο C:\dimitris στο D:\iguru, η εντολή θα απλοποιηθεί και θα γίνει:
robocopy D:\dimitris E:\iguru
καθώς από προεπιλογή αν δεν αναφέρετε αρχεία, εννοείται όλα τα αρχεία, δηλαδή *.*
Σχετικά με τις βασικότερες παραμέτρους της Robocopy:
Και αυτές είναι μόνο ένα μικρό μέρος των παραμέτρων. Υπάρχει ένα σωρό που θα καλύψουν κάθε σας ανάγκη.
Παράδειγμα
Αν θέλετε να κάνετε ένα αυτόματο backup διαφόρων φακέλων σε ένα συγκεκριμένο δίσκο, τότε μπορείτε να φτιάξετε ένα txt αρχείο και μέσα να γράψετε το εξής κείμενο:
@echo off
REM Συγκεκριμένοι φάκελοι προς δημιουργία backup
set "source_folder1=C:\path\to\source"
set "destination_folder1=D:\path\to\destination"
REM Εκτέλεση του robocopy για τη δημιουργία του backup
robocopy "%source_folder1%" "%destination_folder1%" /MIR /J /COPY:DAT
pause
Μετονομάστε το όνομα.txt αρχείο σε όνομα.bat για να γίνει εκτελέσιμο, και τρέξτε το είτε χειροκίνητα, είτε μέσω του χρονοδιαγράμματος εργασιών των Windows.
Το παραπάνω παράδειγμα αντιγράφει όλα αρχεία του source_folder1 στο destination_folder1, μαζί με όλους τους υποφακέλους τους, αλλά μόνο τα αρχεία που έχουν αλλάξει. Ταυτόχρονα σβήνει από το destination όσα αρχεία έχει που δεν υπάρχουν πιά στην πηγή ( /MIR ).
Ευχαριστούμε τον Γιώργο Θ. Κανελλάκη για την ευγενική υπόδειξή του στην ακριβή σύνταξη του differential backup.
Και όπως σωστά αναφέρει ” αυτή η διαφορά ανάμεσα σε incremental και differential backup έχει τρελάνει κόσμο και κοσμάκη :) “