Hemsida » hur » Kan EXE-filtillägg alltid ersättas med COM?

    Kan EXE-filtillägg alltid ersättas med COM?

    Om du någonsin har hört talas om att ändra en filförlängning från EXE till COM, kanske du har undrat om det bara gick att arbeta på några få sällsynta filer eller om det skulle fungera på nästan vilken EXE-fil du har. Dagens SuperUser Q & A inlägg har svaret på en nyfiken läsarens fråga.

    Dagens Question & Answer-session kommer till oss med tillstånd av SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.

    Frågan

    SuperUser-läsare Royi Namir vill veta om EXE-filtillägg alltid kan ersättas med COM-enheter ?:

    Vårt antivirusprogram vägrade att låta mig kopiera en EXE-fil till min Windows 7-startmapp (calc.exe, till exempel) eftersom det är en EXE-fil. Jag ändrade sedan filtillägget från EXE till COM på filen och kunde enkelt kopiera det till mappen utan problem (mycket professionell).

    Och naturligtvis, calc.com fungerar lika bra som calc.exe, vilket fick mig att undra. När kommer ett program med en EXE filtillägg inte att fungera när utvidgningen ändras till COM? Nästan varje EXE-fil som jag har kontrollerat har fungerat. Jag skulle gärna veta orsakerna till "varför och varför inte" i frågan.

    Kan EXE-filtillägg alltid ersättas med COM-enheter?

    Svaret

    SuperUser-bidragaren Math Man har svaret för oss:

    Det har att göra med filens interna format. Ursprungligen var COM-filer enkla minnesbilder och EXE-filer hade massor av rubriker i samband med dem. Som ett resultat kan du inte byta namn på dem.

    När tiden gick och de var tvungna att göra saker bakåtkompatibla ändrade Microsoft det så att operativsystemet tittar på själva filen för att bestämma vilken typ av fil det är istället för förlängningen. Som ett resultat, när du kör den omförda filen ignorerar Windows helt förlängningen.

    Besök länkarna nedan för en mer detaljerad och omfattande förklaring.

    Vad är skillnaden mellan .com, .exe och .bat? [Stackoverflow]

    Vad är skillnaden mellan COM och EXE-tillägg? [Microsoft Developer Blog]


    Har du något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa mer svar från andra tech-savvy Stack Exchange-användare? Kolla in hela diskussionsgängan här.