2011-06-24 22 views
2

你如何爲MS-DOS製作.com文件?我有我自己的「操作系統」PowerOS,並且我想要輸入自定義命令。有什麼辦法可以寫一個.com文件嗎?如何製作MSDOS .com文件?

+0

你的意思是編譯的可執行文件或.BAT批處理文件嗎? COM文件可以是。 – batman

+0

.com!= .cmd - > .com是一個編譯的可執行文件; '.cmd'是'.bat'(批處理)文件的變體。 – Orbling

+0

@Travis Powell我是DOS的初學者,那究竟是一個編譯好的可執行文件?我真正想要的是一些可以執行命令的文件,例如當我鍵入「CLS」時,它將清除屏幕。我想知道文件的「編程語言」。 –

回答

2

答案相當簡單。通過用編程語言編寫程序並使用面向MS/PC/DR-DOS的編譯器進行編譯,可製作包含MS/PC/DR-DOS程序映像的.COM文件。而已。

不要混淆文件擴展名。有一個.COM程序映像文件格式,這是一個相當基本的程序圖像格式。 20世紀80年代它被「MZ」程序圖像文件格式所取代。但它與文件擴展名無關。對於MS/PC的程序的圖像文件/ DR-DOS可以有擴展.COM或延伸.EXE,但實際的圖像文件格式不受此決定。 (我提到DR-DOS,如果內存正常運行:在DR-DOS版本6中幾乎所有的程序映像文件,即使是名爲.COM的程序映像文件,實際上也是「MZ」格式的可執行文件,而在那裏是壓縮文件。)

你做什麼取決於你的操作系統的程序加載器能夠理解的程序映像文件格式。而且,真的,只有可以告訴世界。如果您的操作系統的程序加載器瞭解「MZ」可執行文件格式,並且在您的操作系統上運行的程序是16位並以實模式運行,那麼爲您的操作系統編譯命令非常簡單(忽略系統調用和庫問題)端口,比如,手搖OpenWatcom的16位編譯器+連接器,wcl,並告訴它目標MS/PC/DR-DOS與-bcl=DOS選項。當然,如果你的程序是32位的,並且你的操作系統在保護模式下運行它們,或者即使你的程序是16位的,並且你的操作系統在保護模式下運行它們,那麼「MZ」文件格式將不適合您的需求,您應該使用one of the several alternative program image file formats

2

我知道,Windows 7和最有可能爲其他Windows操作系統的,你可以寫無論是蝙蝠,.exe或.com和將其放置到Windows/system32目錄。只需輸入所做命令的名稱即可將該文件用作命令提示符下的命令。

若要在命令行參數,一個批處理文件可以使用變量%1,%2%3等命令類似於任何其它命令,並可以被用來進一步寫與它的批處理文件。

至於MS-DOS的話,你可能能夠把這些文件類型之一,在根目錄或尋找到其他的命令放置,並把它放在那裏。我不知道是否需要一個COM文件,但如果是這樣的話,那裏有批處理轉換器,比如這個老學校: Converter from batch to com