Εάν έχετε ακούσει ποτέ να αλλάξετε την επέκταση ενός αρχείου από το EXE σε COM, ίσως αναρωτηθήκατε αν μπορούσε να λειτουργήσει μόνο σε λίγα σπάνια αρχεία ή αν θα λειτουργούσε σχεδόν σε οποιοδήποτε αρχείο EXE που έχετε. Η σημερινή ανάρτηση ερωτηματολογίων SuperUser έχει την απάντηση σε μια ερώτηση περίεργου αναγνώστη.
Η σημερινή συνεδρία Ερωτήσεων & Απαντήσεων μας προσφέρει ευγενική προσφορά του SuperUser - μια υποδιαίρεση του Stack Exchange, μιας ομάδας ιστότοπων Q&A που βασίζεται στην κοινότητα.
Το ερώτημα
Ο αναγνώστης SuperUser, Royi Namir, θέλει να μάθει εάν οι επεκτάσεις αρχείων EXE μπορούν πάντα να αντικατασταθούν από αυτές που είναι COM ;:
Το λογισμικό προστασίας από ιούς αρνήθηκε να μου επιτρέψει να αντιγράψω ένα αρχείο EXE στο φάκελο εκκίνησης των Windows 7 (για παράδειγμα, calc.exe), επειδή είναι ένα αρχείο EXE. Στη συνέχεια άλλαξα την επέκταση αρχείου από EXE σε COM στο αρχείο και κατάφερα να την αντιγράψω εύκολα στο φάκελο χωρίς προβλήματα (πολύ επαγγελματική).
Και φυσικά, το calc.com λειτουργεί ακριβώς όπως και το calc.exe, το οποίο με έκανε να αναρωτιέμαι. Πότε δεν θα λειτουργεί ένα πρόγραμμα με επέκταση αρχείου EXE όταν η επέκταση αλλάξει σε COM; Λειτουργούσε σχεδόν κάθε αρχείο EXE που έχω ελέγξει. Θα ήθελα πολύ να μάθω τους λόγους για το «γιατί και γιατί όχι» του θέματος.
Μπορούν οι επεκτάσεις αρχείων EXE να αντικαθίστανται πάντα με αυτές COM;
Η απάντηση
Ο συνεργάτης του SuperUser Math Man έχει την απάντηση για εμάς:
Έχει να κάνει με την εσωτερική μορφή του αρχείου. Αρχικά, τα αρχεία COM ήταν απλές εικόνες μνήμης και τα αρχεία EXE είχαν πολλές κεφαλίδες που σχετίζονται με αυτά. Ως αποτέλεσμα, δεν μπορείτε να τα μετονομάσετε.
Με την πάροδο του χρόνου και έπρεπε να καταστήσουν τα πράγματα συμβατά προς τα πίσω, η Microsoft το άλλαξε έτσι ώστε το λειτουργικό σύστημα να εξετάσει το ίδιο το αρχείο για να προσδιορίσει τι είδους αρχείο είναι αντί της επέκτασης. Ως αποτέλεσμα, όταν εκτελείτε το μετονομαζόμενο αρχείο, τα Windows αγνοούν πλήρως την επέκταση.
Επισκεφτείτε τους παρακάτω συνδέσμους για μια πιο λεπτομερή και εκτενή εξήγηση.
Ποια είναι η διαφορά μεταξύ .com, .exe και .bat; [StackOverflow]
Ποια είναι η διαφορά μεταξύ των επεκτάσεων COM και EXE; [Microsoft Developer Blog]
Έχετε κάτι να προσθέσετε στην εξήγηση; Ήχος στα σχόλια. Θέλετε να διαβάσετε περισσότερες απαντήσεις από άλλους χρήστες τεχνολογίας Stack Exchange; Δείτε ολόκληρο το νήμα συζήτησης εδώ .