Αντιμετώπιση προβλημάτων

Γνώση Υπολογιστών >> Αντιμετώπιση προβλημάτων >  >> Μετατρέψτε τα αρχεία

Πώς χρησιμοποιείτε αρχεία παρτίδας για να αντιγράψετε από τον ίδιο φάκελο με το αρχείο;

Υπάρχουν διάφοροι τρόποι αντιγραφής αρχείων από τον ίδιο κατάλογο με το ίδιο το αρχείο παρτίδας. Ακολουθούν μερικά παραδείγματα, επιδεικνύοντας διαφορετικά σενάρια και ευρωστία:

Μέθοδος 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 "` και άλλους παίκτες με τα πραγματικά ονόματα αρχείων και φακέλων. Πάντα να δοκιμάζετε τα αρχεία παρτίδας σας προσεκτικά. Ο λανθασμένος χώρος χειρισμού σε ονόματα αρχείων και διαδρομών είναι μια κοινή πηγή σφαλμάτων.

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα