Σειρά προτεραιότητας με τον εντοπισμό εκτελέσιμα αρχεία

Αποποίηση ευθυνών για περιεχόμενο της Γνωσιακής βάσης που έχει αποσυρθεί

Αυτό το άρθρο αφορά προϊόντα για τα οποία η Microsoft δεν παρέχει πλέον υποστήριξη. Συνεπώς, το παρόν άρθρο παρέχεται "ως έχει" και δεν θα ενημερώνεται πλέον.

Σύνοψη

Αυτό το άρθρο ασχολείται με τα ακόλουθα:


  • Πώς COMMAND.COM εντοπίσει εκτελέσιμα αρχεία
  • Η σειρά προτεραιότητας που περιλαμβάνονται σε αυτήν την αναζήτηση
  • Πώς η σειρά μπορεί να παρακαμφθεί σε εκδόσεις MS-DOS 4.x και νεότερες εκδόσεις
  • Καλέστε τη διαφορά στην αναγνώριση όνομα αρχείου COMMAND.COM και το σύστημα MS-DOS EXEC

Περισσότερες πληροφορίες

COMMAND.COM

COMMAND.COM μπορεί να εκτελεί ένα αρχείο που πληκτρολογούνται στη γραμμή εντολών ή ως μια γραμμή σε ένα αρχείο δέσμης.

Εκδόσεις παλαιότερες από την έκδοση 4.0 του MS-DOS

Όταν δίνεται ένα όνομα αρχείου, έστω και παρέχεται μια επέκταση, COMMAND.COM διατηρεί μόνο το όνομα βάσης. (COMMAND.COM καταργεί την επέκταση ονόματος αρχείου αν υπάρχει [για παράδειγμα, "ΑΡΧΕΊΟΥ" παραμένει, εάν το όνομα αρχείου είναι "το ΑΡΧΕΊΟ. "EXE"]). Αφού έχει το βασικό όνομα, COMMAND.COM μοιάζει με την ακόλουθη σειρά για ένα εκτελέσιμο αρχείο που έχει αυτό το όνομα:

   .COM  .EXE  .BAT

Εάν δεν είναι δυνατή η εύρεση του αρχείου στον τρέχοντα κατάλογο της τρέχουσας μονάδας COMMAND.COM, αρχίζει η αναζήτηση στους καταλόγους που καθορίζεται στη μεταβλητή περιβάλλοντος PATH στο τα αρχεία AUTOEXEC. Το αρχείο BAT. Εάν δεν εντοπιστεί ένα τέτοιο αρχείο, εμφανίζεται το ακόλουθο μήνυμα λάθους:
Εσφαλμένη εντολή ή όνομα αρχείου
Για παράδειγμα, εάν υπάρχουν τρία αρχεία στον τρέχοντα κατάλογο: αρχείο FILE.COM, ΑΡΧΕΊΟ. EXE, και το ΑΡΧΕΊΟ. BAT, και προσπαθείτε να εκτελέσετε μία από αυτές, πληκτρολογώντας
Αρχείο FILE.COM, το ΑΡΧΕΊΟ. EXE, το ΑΡΧΕΊΟ. BAT, ή το ΑΡΧΕΊΟCOMMAND.COM εκτελεί μόνο το αρχείο FILE.COM, επειδή αυτό είναι το πρώτο αρχείο που εντοπίζει.

MS-DOS 4.0 και νεότερες εκδόσεις

Στο MS-DOS 4.0 και νεότερες εκδόσεις, μπορείτε να παρακάμψετε την προτεραιότητα COM-EXE-BAT, πληκτρολογώντας την εντολή με την επέκταση.


Για παράδειγμα, εάν υπάρχουν τρία αρχεία στον τρέχοντα κατάλογο: αρχείο FILE.COM, ΑΡΧΕΊΟ. EXE, και το ΑΡΧΕΊΟ. BAT, και προσπαθείτε να εκτελέσετε μία από αυτές, πληκτρολογώντας
Αρχείο FILE.COM, το ΑΡΧΕΊΟ. EXE, ή ΑΡΧΕΊΟ. BAT, COMMAND.COM εκτελεί αυτήν που καθορίζετε. Ωστόσο, εάν δεν δίνεται καμία επέκταση ονόματος αρχείου, τη συνήθη σειρά προτεραιότητας χρησιμοποιείται (.COM,. EXE, και. BAT).


Μία ως αποτέλεσμα αυτής της συμπεριφοράς είναι ότι ορισμένες εσφαλμένες ή σκόπιμο τρόποι για εκτέλεση αρχείων δεν λειτουργούν πλέον. Για παράδειγμα, σε εκδόσεις του MS-DOS παλαιότερη της 4.0, μπορείτε να εκτελέσετε το ΑΡΧΕΊΟ. BAT, πληκτρολογώντας το όνομα του αρχείου με μια τελεία που ακολουθεί το ΑΡΧΕΊΟΥ.. Ωστόσο, στο MS-DOS 4.0 και νεότερες εκδόσεις, εάν πληκτρολογήσετε ΑΡΧΕΊΟ, MS-DOS αναζητά ένα αρχείο με αυτό το όνομα δεν μπορεί να βρει ένα και επιστρέφει ένα μήνυμα λάθους "Εσφαλμένη εντολή ή όνομα αρχείου".

Οι εκδόσεις του MS-DOS έκδοση 5.0 και νεότερες εκδόσεις

Εκδόσεις του MS-DOS έκδοση 5.0 και νεότερες, κάντε αναζήτηση για αρχεία με την ακόλουθη σειρά:

   DOSKEY Macro  .COM  .EXE  .BAT

Για παράδειγμα, εάν υπάρχουν τρία αρχεία στον τρέχοντα κατάλογο: αρχείο FILE.COM, ΑΡΧΕΊΟ. EXE, και το ΑΡΧΕΊΟ. BAT, και υπάρχει επίσης μια μακροεντολή DOSKEY με το όνομα ΑΡΧΕΊΟΥ, η μακροεντολή δοθεί προτεραιότητα και εκτελείται κατά την εκτέλεση του ΑΡΧΕΊΟΥ από τη γραμμή εντολών του τρέχοντος καταλόγου. Αυτό δεν ισχύει σε προηγούμενες εκδόσεις του MS-DOS, επειδή δεν υπήρχε καμία δυνατότητα μακροεντολή DOSKEY.


Επίσης, στο MS-DOS έκδοση 5.0 και νεότερες, τις μακροεντολές DOSKEY έχουν προτεραιότητα έναντι εσωτερικές εντολές. Για να παρακάμψετε μια μακροεντολή DOSKEY, πληκτρολογήστε ένα ή περισσότερα διαστήματα πριν από την εντολή.

Λειτουργία ΕΚΤΈΛΕΣΗΣ

Η συνάρτηση MS-DOS EXEC (διακοπή 21h υπηρεσία 4Bh) δεν αναγνωρίζει επεκτάσεις ονόματος αρχείου; Επομένως, το απλά λαμβάνει το όνομα του αρχείου που καθορίζεται όταν κληθεί και προσπαθεί να εκτελέσει.


Αυτή η έλλειψη πληροφοριών ονόματος αρχείου είναι ένα πλεονέκτημα σε προγράμματα που περιέχουν αρχεία τα οποία είναι εκτελέσιμα. Αυτά τα αρχεία είναι τα προγράμματα οδήγησης συσκευών (που συνήθως έχει την επέκταση. SYS) ή επικάλυψης αρχεία (τα οποία έχουν συνήθως την επέκταση. OVL). COMMAND.COM δεν μπορεί να εκτελέσει αυτά τα αρχεία. μόνο τα προγράμματα που ρητά να καλέσετε τη συνάρτηση EXEC να εκτελέσετε αυτά τα προγράμματα.


Η συνάρτηση EXEC αντιλαμβάνεται μόνο τα αρχεία που στις περισσότερες περιπτώσεις έχουν .COM και. EXE επεκτάσεις. Δεν είναι δυνατή η εκτέλεση. BAT αρχεία. αυτά τα αρχεία είναι ειδικά "Εκτέλεση", μία γραμμή κάθε φορά, από COMMAND.COM.
Ιδιότητες

Αναγνωριστικό άρθρου: 35284 - Τελευταία αναθεώρηση: 17 Ιαν 2017 - Αναθεώρηση: 1

Σχόλια