Hvis du noen gang har hørt om å endre filtypen fra EXE til COM, har du kanskje lurt på om den bare var i stand til å jobbe med noen sjeldne filer, eller om den ville fungere på nesten hvilken som helst EXE-fil du har. Dagens SuperUser-spørsmål og svar har svaret på en nysgjerrig leserspørsmål.
Dagens spørsmål og svar-økt kommer til oss med tillatelse fra SuperUser - en underavdeling av Stack Exchange, en samfunnsdrevet gruppe av spørsmål og svar-nettsteder.
Spørsmålet
SuperUser-leser Royi Namir vil vite om EXE-filtypen alltid kan erstattes med COM-filer ?:
Antivirusprogramvaren nektet å la meg kopiere en EXE-fil til oppstartsmappen for Windows 7 (for eksempel calc.exe) siden det er en EXE-fil. Jeg endret deretter filtypen fra EXE til COM på filen og kunne enkelt kopiere den til mappen uten problemer (veldig profesjonell).
Og selvfølgelig fungerer calc.com like bra som calc.exe, noe som fikk meg til å lure. Når fungerer et program med EXE-filtype ikke når utvidelsen endres til COM? Nesten alle EXE-filer jeg har sjekket, har fungert. Jeg vil gjerne vite årsakene til "hvorfor og hvorfor ikke" i saken.
Kan EXE filendelser alltid erstattes med COM-filer?
Svaret
SuperUser-bidragsyter Math Man har svaret for oss:
Det har å gjøre med det interne formatet på filen. Opprinnelig var COM-filer enkle minnebilder, og EXE-filer hadde mange overskrifter tilknyttet. Som et resultat kunne du ikke gi dem nytt navn.
Etter hvert som tiden gikk, og de måtte gjøre ting bakoverkompatible, endret Microsoft det slik at operativsystemet ser på selve filen for å bestemme hvilken type fil det er i stedet for utvidelsen. Som et resultat, når du kjører den omdøpte filen, ignorerer Windows utvidelsen helt.
Besøk lenkene nedenfor for en mer detaljert og omfattende forklaring.
Hva er forskjellen mellom .com, .exe og .bat? [StackOverflow]
Hva er forskjellen mellom COM- og EXE-utvidelsene? [Microsoft Developer Blog]
Har du noe å legge til forklaringen? Lyd av i kommentarene. Vil du lese flere svar fra andre teknologikyndige Stack Exchange-brukere? Sjekk ut hele diskusjonstråden her .