Μέθοδος 1:Χρήση `%~ dp0` (απλούστερο και πιο συνιστώμενο)
Αυτή η μέθοδος χρησιμοποιεί τη μεταβλητή `%~ dp0`, η οποία επεκτείνεται στη μονάδα δίσκου και τη διαδρομή του τρέχοντος αρχείου παρτίδας. Αυτή είναι η πιο αξιόπιστη και συνιστώμενη προσέγγιση.
`` `παρτίδα
@echo off
Αντιγραφή "%~ dp0myfile.txt" "%~ dp0destinationfolder \ myfile.txt"
`` `
* `%~ dp0`:παίρνει τη μονάδα και τη διαδρομή του αρχείου παρτίδας.
* `myfile.txt`:Το αρχείο που θέλετε να αντιγράψετε. Αντικαταστήστε αυτό με το πραγματικό όνομα αρχείου σας.
* `Destinationfolder`:Το όνομα του φακέλου όπου θέλετε να αντιγράψετε το αρχείο. Δημιουργήστε εκ των προτέρων αυτό το φάκελο εάν δεν υπάρχει. Μπορείτε επίσης να χρησιμοποιήσετε απόλυτες διαδρομές εδώ, αν χρειαστεί.
Μέθοδος 2:Χρήση `CD` (λιγότερο ισχυρή)
Αυτή η μέθοδος αλλάζει τον κατάλογο στη θέση του αρχείου δέσμης πριν από την εκτέλεση του αντιγράφου. Είναι λιγότερο ανθεκτικό επειδή βασίζεται στον τρέχοντα κατάλογο εργασίας που έχει ρυθμιστεί σωστά.
`` `παρτίδα
@echo off
pushd "%~ dp0"
Αντιγράψτε το myfile.txt destinationfolder \ myfile.txt
σκάφος
`` `
* `pushd"%~ dp0 "`:αλλάζει τον κατάλογο στην τοποθεσία του αρχείου παρτίδας. `pushd` αποθηκεύει τον τρέχοντα κατάλογο, επιτρέποντάς σας να το επαναφέρετε αργότερα.
* `popd`:αποκαθιστά τον αρχικό κατάλογο.
Μέθοδος 3:Χώροι χειρισμού σε διαδρομές αρχείων (κρίσιμη για την ευρωστία)
Εάν τα ονόματα αρχείων ή οι διαδρομές φακέλων περιέχουν κενά, πρέπει να τα παραθέσετε. Τα παραπάνω παραδείγματα το κάνουν ήδη, αλλά αξίζει να δοθεί έμφαση. Η μη προσφορά θα οδηγήσει σε σφάλματα.
Παράδειγμα με χώρους:
`` `παρτίδα
@echo off
Αντιγραφή "%~ dp0my file.txt" "%~ ~ dp0destination φάκελος \ my file.txt"
`` `
Μέθοδος 4:Αντιγραφή πολλαπλών αρχείων χρησιμοποιώντας μπαλαντέρ
Μπορείτε να χρησιμοποιήσετε μπαλαντέρ για να αντιγράψετε πολλά αρχεία ταυτόχρονα:
`` `παρτίδα
@echo off
Αντιγραφή "%~ dp0*.txt" "%~ dp0destinationfolder \"
`` `
Αυτό αντιγράφει όλα τα αρχεία `.txt` από τον κατάλογο του αρχείου παρτίδας στον 'DestinationFolder'.
Χειρισμός σφαλμάτων (σημαντικό)
Για πιο ισχυρά σενάρια, προσθέστε χειρισμό σφαλμάτων για να ελέγξετε εάν το αντίγραφο ήταν επιτυχές:
`` `παρτίδα
@echo off
Αντιγραφή "%~ dp0myfile.txt" "%~ dp0destinationfolder \ myfile.txt"> nul 2> &1
Εάν % errorLevel % ==0 (
Το αρχείο Echo αντιγράφηκε με επιτυχία.
) αλλιώς (
echo σφάλμα αντιγραφής αρχείου. Κωδικός σφάλματος:%Πλαίσιο σφάλματος %
·
`` `
* `> nul 2> &1`:Καταργεί την έξοδο της εντολής« αντιγραφής ».
* `Εάν % errorLevel % ==0`:Ελέγχει το επίπεδο σφάλματος. «0» σημαίνει επιτυχία.
Θυμηθείτε να αντικαταστήσετε το `" myfile.txt "`, `" DestinationFolder "` και άλλους παίκτες με τα πραγματικά ονόματα αρχείων και φακέλων. Πάντα να δοκιμάζετε τα αρχεία παρτίδας σας προσεκτικά. Ο λανθασμένος χώρος χειρισμού σε ονόματα αρχείων και διαδρομών είναι μια κοινή πηγή σφαλμάτων.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα