编辑“︁
COMMAND.COM
”︁
跳转到导航
跳转到搜索
Template:Editnotice load/content
警告:
您没有登录。如果您进行任何编辑,您的IP地址会公开展示。如果您
登录
或
创建账号
,您的编辑会以您的用户名署名,此外还有其他益处。
反垃圾检查。
不要
加入这个!
{{noteTA|G1=IT|G2=Windows}} {{expert|1=软件|time=2010-06-14T08:58:05+00:00}} {{Expand language|1=en|time=2020-08-09T10:19:18+00:00}} {{Infobox software | name = COMMAND.COM | screenshot = Command.com_Win8.png | caption = [[Windows 8]]上的COMMAND.COM | other_names = MS-DOS Prompt,<br />Windows Command Interpreter | developer = [[Seattle Computer Products]], [[IBM]], [[Microsoft]], [[The Software Link]], [[Datalight]], [[Novell]], [[Caldera UK|Caldera]] | released = {{Start date and age|1980}} | replaced_by = [[cmd.exe]] | programming language = [[x86]] [[汇编语言]]<ref name="Microsoft_COMMAND"/> | operating_system = {{ubl|[[86-DOS]]|[[MS-DOS]]|[[PC DOS]]|[[DR-DOS]]|[[SISNE plus]]|[[PTS-DOS]]|[[ROM-DOS]]|[[OS/2]]|[[Windows 9x]]|[[Windows NT]] ([[NTVDM]])|[[FreeDOS]]|[[MSX-DOS]]}} | platform = 16位 [[x86]] | genre = [[命令行界面|命令行解释器]] }} [[File:Microsoft Windows 95 Version 4.00.1111 command.com MS-DOS Prompt 492x259.png|thumb|250px|command.com在[[Windows 95]]上的[[Win32控制台|Windows控制台]]里运行(MS-DOS命令提示符)]] '''COMMAND.COM'''是MS-[[DOS]]、[[Windows 95]]、[[Windows 98]]、[[Windows 98SE]]和[[Windows Me]]下默认的[[命令行界面|命令行解释器]]。在DOS环境下,它也是默认用户界面。它一般还是系统启动后运行的第一个程序(即init),因此负责运行[[AUTOEXEC.BAT]]配置文件以设置系统环境,也是所有进程的父进程。 COMMAND.COM在[[OS/2]]和[[Windows NT]]上的继任者是[[cmd.exe]]。即便如此,COMMAND.COM在这些系统的[[IA-32]]版本上的DOS虚拟机中仍然可用。 文件名{{Mono|COMMAND.COM}}也被{{ill|Disk Control Program|de}} (DCP)——前东德公司[[VEB Robotron]]发行的MS-DOS变体使用。<ref name="DCP_2016"/> [[FreeDOS]]下与之兼容的命令处理程序有时也称作[[FreeCom]]。 COMMAND.COM是DOS程序。由COMMAND.COM启动的程序都是DOS程序,调用[[DOS API]]与磁盘操作系统通信。 ==操作模式== 作为一个用户界面,COMMAND.COM有两种截然不同的操作模式。第一种是[[读取﹣求值﹣输出循环|交互模式]],用户输入的指令会被立即执行;第二种是[[批次檔|批处理模式]],负责执行存储在名称以[[Batch file|.BAT]]结尾文本文件中的一组预定义命令。 =={{anchor|Prompt}}内部命令== 内部命令是直接存储于COMMAND.COM二进制文件中的命令。因此,它们一直可用,但只能直接执行于命令直译器。 当{{keypress|Enter}}键在一行末尾按下后,所有命令才被执行。COMMAND.COM不区分大小写,也就是说命令可以按照任意大小写组合输入。 ; {{link-en|BREAK|BREAK (DOS command)}}: 通过{{keypress|Ctrl|C}}或{{keypress|Ctrl|Break}}控制程序中断。 ; {{link-en|CHCP|CHCP (command)}}: 显示或更改当前系统的[[代码页]]。 ; [[Cd (命令)|CHDIR, CD]]: 更改当前[[工作目錄|工作目录]]或显示当前处于的目录。 ; [[Cls (命令)|CLS]]: 清除屏幕显示。 ; [[Copy (命令)|COPY]]: 将一个文件复制到另一个位置(若目标文件已存在,MS-DOS会询问是否替换)。(另请参见[[XCOPY]],一个可以复制目录树的外部命令) ; {{link-en|CTTY|CTTY (DOS command)}}: 定义输入输出所用的设备。 ; {{link-en|DATE|DATE (command)}}: 显示和设置系统日期。 ; [[MS-DOS命令列表#del 或 erase|DEL, ERASE]]: 删除一个文件。在对一个目录操作时,仅删除目录下的所有文件。与之相对,外部命令command不仅删除目录下的全部子目录及所有文件,也删除目录本身。 ; [[Dir (命令)|DIR]]: 列出指定目录下的文件。 ; [[Echo (命令)|ECHO]]: 切换文本显示开启({{codett|ECHO ON}}) 或关闭({{codett|ECHO OFF}})。也用于在屏幕上显示字符({{codett|ECHO text}})。 ; [[Exit (命令)|EXIT]]: 退出COMMAND.COM并返回到启动它的程序。 ; [[LFNFOR]]: 开启/关闭FOR命令返回[[长文件名]]的功能([[Windows 9x]])。 ; {{link-en|LOADHIGH, LH|LOADHIGH}}: 将一个程序载入内存的高地址区域(相当于[[DR-DOS]]的{{codett|HILOAD}})。 ; [[LOCK (DOS command)|LOCK]]: 允许外部程序执行低层磁盘访问(仅[[MS-DOS 7.1]]和[[Windows 9x]])。 ; [[Mkdir|MKDIR,MD]]: 新建一个目录。 ; [[MS-DOS命令列表#path|PATH]]: 显示或更改控制COMMAND.COM查找可执行文件位置的PATH环境变量值。 ; {{link-en|PROMPT|PROMPT (DOS command)}}: 显示或更改控制命令行外观的PROMPT环境变量值。 ; [[MS-DOS命令列表#ren 或 rename|RENAME, REN]]: 重命名一个文件或目录。 ; [[Rmdir|RMDIR, RD]]: 删除一个空目录。 ; [[MS-DOS命令列表#set|SET]]: 设置一个[[环境变量]]的值;无参数时,显示全部已定义的环境变量。 ; {{link-en|TIME|TIME (command)}}: 显示和设置系统时间。 ; {{link-en|TRUENAME|TRUENAME}}: Display the fully expanded physical name of a file, resolving [[ASSIGN (DOS command)|ASSIGN]], [[JOIN (DOS command)|JOIN]] and [[SUBST]] logical filesystem mappings.<ref name="Paul_1997_NWDOSTIP"/> ; [[MS-DOS命令列表#type|TYPE]]: 在控制台上显示文件内容。 ; {{link-en|UNLOCK|UNLOCK (DOS command)}}: 关闭低层磁盘访问(仅MS-DOS 7.1和[[Windows 9x]])。 ; [[MS-DOS命令列表#ver|VER]]: 显示[[操作系统]]版本。 ; {{link-en|VERIFY|VERIFY (DOS command)}}: 开启/关闭文件写入验证。 ; {{link-en|VOL|VOL (command)}}:显示卷宗的信息。 ==批处理命令== 控制结构多用于批处理文件中,即使也可以在交互模式下使用。<ref name="Caldera_1998_USER_CH7"/><ref name="Paul_1997_NWDOSTIP"/> ; <nowiki>:</nowiki>''label'': 定义GOTO的目标。 ; [[CALL (DOS command)|CALL]]: 执行另一个批处理文件,然后返回到原文件并继续。 ; [[For迴圈|FOR]]: 迭代:为每一个特定组的文件重复一个命令。 ; [[GOTO]]: 将执行过程强行跳转到一个特定标签。标签在一行的开始处指定,以冒号开始({{codett|:likethis}})。 ; [[條件運算式#if–then(–else)結構|IF]]: 条件语句,建立程序分支。 ; [[PAUSE (DOS command)|PAUSE]]: 暂停程序执行,向用户显示消息“按任意键继续”。 ; [[註解 (程式設計)|REM]]: 注释:此命令后所有文本被忽略。 ; [[SHIFT (DOS command)|SHIFT]]: 将每个可换位参数(Replacement parameters)以其后一个替代(即用{{codett|%1}}替代{{codett|%0}},用{{codett|%2}}替代{{codett|%1}}等) ==IF命令== 在退出的时候,所有外部命令都会向调用者给出一个介于 0 到 255 之间的[[退出状态|返回码]]。绝大多数程序对于它们的返回码有一些约定,例如使用 0 表示成功执行。<ref name="Paul_1997_BATTIPS"/><ref name="FD_2003_Errorlevel"/><ref name="Paul_2003_Exitcodes"/><ref name="Allen_2005"/> 如果程序是由 COMMAND.COM 调用的,那么使用 ERRORLEVEL 作为条件句的 IF 内部命令可以用于判断最后调用的外部程序的错误状态。 在 COMMAND.COM 中,内部命令不产生新的值。 ==变量== COMMAND.COM批处理文件允许四种变量类型: * [[环境变量]]:形如 {{codett|%VARIABLE%}},使用 SET 语句赋值。在 DOS 3 之前,COMMAND.COM 仅会在批处理模式中展开环境变量,或者说在命令提示符中不能使用。{{cn|date=August 2017}} * 可换位参数:形如 {{codett|%0}}, {{codett|%1}}...{{codett|%9}},默认包含命令名称和传递给脚本的前九个[[命令行参数]](例如,如果调用命令“{{codett|myscript.bat John Doe}}”,那么 {{codett|%0}} 是 “{{codett|myscript.bat}}”,{{codett|%1}} 是“{{codett|John}}”,{{codett|%2}} 是“{{codett|Doe}}”)。第九个之后的参数可以使用 SHIFT 语句移动到前九个的范围内。 * 循环变量:在批处理文件中形如 {{codett|%%a}},使用于循环中。这些变量仅由一个特定的 FOR 语句定义<!--另外一些翻译:这些变量仅定义在一个特定的 FOR 语句中;这些变量的定义仅局限在一个特定的 FOR 语句中-->,然后在该语句中遍历一系列给定的值。 * 在 [[4DOS 3.00]]<!-- 1990 --> 及其后续版本<ref name="4DOS_8.00_HELP"/>和 [[Multiuser DOS]]<!-- 1991 --><ref name="Paul_1997_NWDOSTIP"/><!-- not in CDOS 386 1.0 (1987), not sure about CDOS 386 3.0 (1989) --> 中,COMMAND.COM 还支持一系列{{le|系统环境变量|System Information Variable}},后来 [[Novell DOS 7]]<!-- 1993 -->、[[OpenDOS 7.01]]、[[DR-DOS 7.02]] 也跟进了这个功能<ref name="Caldera_1998_USER_CH7"/><ref name="Caldera_1998_USER"/><ref name="Paul_1997_NWDOSTIP"/>,虽然它们所支持的变量名几乎完全不同。 ==重定向、管道及连接== 由于DOS是单用户操作系统,[[管道 (软件)|管道]]由按顺序执行多个命令并重定向到[[临时文件]](或从临时文件重定向)实现。COMMAND.COM不支持重定向到[[标准错误输出]]。 ; <code>''command'' < ''filename''</code> : 从一个文件或设备重定向[[标准输入]] ; <code>''command'' > ''filename''</code> : 重定向[[标准输出]],若文件存在则覆盖目标文件 ; <code>''command'' >> ''filename''</code> : 重定向[[标准输出]],若文件存在则追加到目标文件结尾 ; <code>''command1'' | ''command2''</code> : 将''command1''的[[标准输出]]管道至''command2''的[[标准输入]] ; <code>''command1'' ¶ ''command2''</code> : 由ASCII-20(¶, 用 {{keypress|Ctrl|T}}输入)分隔的命令将被连续执行(即命令的“连接”)。<ref name="Paul_1997_NWDOSTIP"/> 也就是说,''command1''执行完毕后才会执行''command2''。<ref name="Paul_1997_NWDOSTIP"/> 这是[[MS-DOS 5.0|MS-DOS]]/[[PC DOS 5.0]]<!-- MS-DOS 6.2与PC DOS 7下已测试 -->及更高的COMMAND.COM中一个未在文档中写明的功能。<ref name="Paul_1997_NWDOSTIP"/> 这项功能也得到Windows NT<!-- Windows XP已测试 -->系列与DR-DOS 7.07下的COMMAND.COM<!-- CMD并不支持 -->支持。DR-DOS下所有版本的COMMAND.COM支持一个类似的内部函数,但由感叹号 (!) 调用(一项最初由[[Concurrent DOS]]和[[Multiuser DOS]]衍生的功能)。 然而,在单用户命令行环境下,这个功能只在内部(如内置的"!DATE!TIME"启动脚本)或间接通过[[DOSKEY]]的$T参数可用,以避免因 !可作为有效文件名字符产生问题。<ref name="Paul_1997_NWDOSTIP"/> [[4DOS]]支持可配置的命令行分隔符([[4DOS.INI]] CommandSep= 或 SETDOS /C),默认为“^”。<ref name="4DOS_8.00_HELP"/>在更高版本的Windows NT<!-- 在XP等可用,但MS-DOS/PC或DOS下的COMMAND.COM不能 -->下,COMMAND.COM还支持{{code|&}}分隔符,以提供与OS/2及Windows NT系列cmd语法的兼容性(然而cmd不支持¶分隔符)。<ref name="4DOS_8.00_HELP"/> ==限制== 交互模式下命令行长度不得超过126字符。<ref name="Paul_1997_MSDOS"/><ref name="Paul_1997_4DOSTIP"/><ref name="Schulman_1994_Undocumented-DOS"/>在MS-DOS 6.2.2中,交互模式的命令行长度限制为127字符。 ==流行文化== 当[[終結者 (電影角色)|终结者]]重新启动时,在终结者的[[抬頭顯示器|HUD]]视图中和[[機器戰警 (1987年電影)|机械战警]]的内部视图中显示有“正在加载 COMMAND.COM”(Loading COMMAND.COM)。 在计算机制作的动画连续剧{{Link-en|ReBoot|ReBoot}}中(该剧的背景发生在计算机内部),系统(相当于城市)的领导者被称为 COMMAND.COM。 ==參見== * {{Link-en|UEFI Shell|UEFI#UEFI_shell}}(UEFI Shell参考了大量来自COMMAND.COM的指令) * {{Link-en|IBMBIO.COM|IBMBIO.COM}}/ {{Link-en|IO.SYS|IO.SYS}} (starts the command processor as the first process) * {{Link-en|SHELL (CONFIG.SYS directive)|CONFIG.SYS#SHELL}} (to override default command processor) * {{Link-en|COMSPEC (环境变量)|COMSPEC}}(由COMMAND.COM设置,reload transient portion of itself) * {{Link-en|CMDLINE (环境变量)|Environment_variable#%CMDLINE%}}(由COMMAND.COM设置,用于与外部程序传递较长的命令行) * {{Link-en|4DOS|4DOS}} / {{Link-en|NDOS|4DOS#NDOS}} (第三方的命令处理器) * {{Link-en|DOSSHELL|DOS_Shell}} / {{Link-en|ViewMAX|ViewMAX}} (另一种 DOS shells) <!-- * [[TASKMAX]] / [[TASKMGR]] (instances daughter processes) --> * [[MS-DOS命令列表]] * {{Link-en|不同命令行的比较|Comparison_of_command_shells}} * {{Link-en|Concurrent DOS|Multiuser_DOS#Concurrent_DOS}}/{{Link-en|Multiuser DOS|Multiuser_DOS}}/{{Link-en|REAL/32|Multiuser_DOS#REAL/32}} (有相似的命令处理器,但不叫COMMAND.COM) * {{Link-en|PC-MOS/386|PC-MOS/386}} (有相似的命令处理器,也叫COMMAND.COM) * {{Link-en|Transient Program Area|CP/M#Transient_Program_Area}} (TPA) (area available for use either by the running application or the transient portion of COMMAND.COM) * {{Link-en|SpartaDOS X|SpartaDOS_X}} (一个用于Atari电脑的相似实现) ==參考資料== {{Reflist|refs= <ref name="Microsoft_COMMAND">{{Cite web |url=https://github.com/microsoft/MS-DOS/blob/master/v2.0/source/COMMAND.ASM |title=MS-DOS/COMMAND.ASM at master · microsoft/MS-DOS · GitHub |access-date=2021-04-23 |archive-date=2021-02-27 |archive-url=https://web.archive.org/web/20210227051645/https://github.com/microsoft/MS-DOS/blob/master/v2.0/source/COMMAND.ASM |dead-url=no }}</ref> <ref name="Paul_1997_BATTIPS">{{cite book |title=BATTIPs — Tips & Tricks zur Programmierung von Batchjobs |at=Kapitel 7: ERRORLEVEL abfragen |work=MPDOSTIP |author-first=Matthias R. |author-last=Paul |date=1997-05-01 |orig-year=1993-10-01 |language=de |url=http://www.antonis.de/dos/batchtut/battips/index.htm#7 |access-date=2017-08-23 |url-status=live |archive-url=https://web.archive.org/web/20170823191411/http://www.antonis.de/dos/batchtut/battips/index.htm |archive-date=2017-08-23}} (NB. BATTIPS.TXT is part of MPDOSTIP.ZIP. The provided link points to a HTML-converted older version of the BATTIPS.TXT file.) [https://web.archive.org/web/20190601152204/https://www.sac.sk/download/text/mpdostip.zip<!-- A yet older version 155 from 1997-05-13 of the 1997-07-15 distribution archive. -->]</ref> <ref name="Paul_2003_Exitcodes">{{cite web |title=Exitcodes (errorlevels) of DOS utilities |author-first=Matthias R. |author-last=Paul |editor-first=Eric |editor-last=Auer |date=2003 |orig-year=1997 |url=https://www.auersoft.eu/soft/by-others/dos-exitcodes-en.html |access-date=2017-09-11 |url-status=dead |archive-url=https://archive.today/20170911103337/https://www.auersoft.eu/soft/by-others/dos-exitcodes-en.html |archive-date=2017-09-11 }} [https://www.auersoft.eu/soft/by-others/dos-exitcodes-de.html<!-- https://archive.today/20170911103522/https://www.auersoft.eu/soft/by-others/dos-exitcodes-de.html -->]</ref> <ref name="Allen_2005">{{cite web |author-first1=William |author-last1=Allen |author-first2=Linda |author-last2=Allen |title=Windows 95/98/ME ERRORLEVELs |url=http://www.allenware.com/mcsw/errorlevels.zip |url-status=dead |archive-url=https://web.archive.org/web/20051029140802/http://www.allenware.com/mcsw/errorlevels.zip |archive-date=2005-10-29}}</ref> <ref name="FD_2003_Errorlevel">{{cite web |title=MS-DOS errorlevels |author-first1=Eric |author-last1=Auer |author-first2=Matthias R. |author-last2=Paul |author-first3=Jim |author-last3=Hall |author-link3=Jim Hall (computer programmer) |date=2015-12-24 |orig-year=2003-12-31 |url=http://www.freedos.org/technotes/technote/207.html |url-status=dead |archive-url=https://web.archive.org/web/20151224202118/http://www.freedos.org/technotes/technote/207.html |archive-date=2015-12-24}}</ref> <ref name="Caldera_1998_USER">{{cite book |title=Caldera DR-DOS 7.02 User Guide |publisher=[[Caldera, Inc.]] |date=1998 |orig-year=1993, 1997 |url=http://www.drdos.net/documentation/usergeng/uglontoc.htm |access-date=2013-08-10 |url-status=dead |archive-url=https://web.archive.org/web/20161104235434/http://www.drdos.net/documentation/usergeng/uglontoc.htm |archive-date=2016-11-04}}</ref> <ref name="Caldera_1998_USER_CH7">{{cite book |title=Caldera DR-DOS 7.02 User Guide |publisher=[[Caldera, Inc.]] |date=1998 |orig-year=1993, 1997 |chapter=Chapter 7: Batch Processing |chapter-url=http://www.drdos.net/documentation/usergeng/07ugch7.htm |access-date=2017-09-11 |url-status=dead |archive-url=https://web.archive.org/web/20170911163945/http://www.drdos.net/documentation/usergeng/07ugch7.htm |archive-date=2017-09-11}}</ref> <ref name="Paul_1997_MSDOS">{{cite book |title=MSDOSTIPs — Tips für den Umgang mit MS-DOS 5.0-7 |work=MPDOSTIP |author-first=Matthias R. |author-last=Paul |date=1997-07-01 |orig-year=1994-01-01 |language=de |url=http://www.antonis.de/dos/dos-tuts/mpdostip/html/msdostip.htm |access-date=2013-10-25 |url-status=live |archive-url=https://web.archive.org/web/20170822214030/http://www.antonis.de/dos/dos-tuts/mpdostip/html/msdostip.htm |archive-date=2017-08-22}} (NB. MSDOSTIP.TXT is part of MPDOSTIP.ZIP, maintained up to 2001 and distributed on many sites at the time. The provided link points to a HTML-converted older version of the MSDOSTIP.TXT file.) [https://web.archive.org/web/20190601152204/https://www.sac.sk/download/text/mpdostip.zip<!-- A yet older version 155 from 1997-05-13 of the 1997-07-15 distribution archive. -->]</ref> <ref name="4DOS_8.00_HELP">{{cite book |title=4DOS 8.00 online help |title-link=4DOS 8.00 |author-first1=Hardin |author-last1=Brothers |author-first2=Tom |author-last2=Rawson |author-link2=Tom Rawson |author-first3=Rex C. |author-last3=Conn |author-link3=Rex C. Conn |author-first4=Matthias R. |author-last4=Paul |author-first5=Charles E. |author-last5=Dye |author-first6=Luchezar I. |author-last6=Georgiev |date=2002-02-27 |quote=[…] Multiple Commands: You can type several commands on the same command line, separated by a caret [^]. For example, if you know you want to copy all of your .TXT files to drive A: and then run CHKDSK to be sure that drive A's file structure is in good shape, you could enter the following command: <code>C:\>COPY *.TXT A: ^ CHKDSK A:</code> You may put as many commands on the command line as you wish, as long as the total length of the command line does not exceed 511 characters. You can use multiple commands in aliases and batch files as well as at the command line. If you don't like using the default command separator, you can pick another character using the SETDOS /C command or the CommandSep directive in [[4DOS.INI]]. […] SETDOS /C: (Compound character) This option sets the character used for separating multiple commands on the same line. The default is the caret [^]. You cannot use any of the redirection characters [<>{{!}}], or the blank, tab, comma, or equal sign as the command separator. The command separator is saved by SETLOCAL and restored by ENDLOCAL. This example changes the separator to a tilde [~]: <code>C:\>SETDOS /C~</code> (You can specify either the character itself, or its ASCII code as a decimal number, or a hexadecimal number preceded by 0x.) […] CommandSep = c (^): This is the character used to separate multiple commands on the same line. […] Special Character Compatibility: If you use two or more of our products, or if you want to share aliases and batch files with users of different products, you need to be aware of the differences in three important characters: the Command Separator […], the Escape Character […], and the Parameter Character […]. The default values of each of these characters in each product is shown in the following chart: […] Product, Separator, Escape Parameter […] 4DOS: ^, ↑, & […] 4OS2, 4NT, Take Command: &, ^, $ […] (The up-arrow [↑] represents the ASCII Ctrl-X character, numeric value 24.) […]}}</ref> <ref name="Paul_1997_NWDOSTIP">{{cite book |title=NWDOS-TIPs — Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds |work=MPDOSTIP |author-first=Matthias R. |author-last=Paul |date=1997-07-30 |orig-year=1994-05-01 |edition=3 |version=Release 157 |language=de |url=http://www.antonis.de/dos/dos-tuts/mpdostip/html/nwdostip.htm |access-date=2014-08-06 |url-status=dead |archive-url=https://web.archive.org/web/20161104235829/http://www.antonis.de/dos/dos-tuts/mpdostip/html/nwdostip.htm |archive-date=2016-11-04 }} (NB. The provided link points to a HTML-converted version of the <code>NWDOSTIP.TXT</code>, which is part of the <code>MPDOSTIP.ZIP</code><!-- still named TIPS_MP.ZIP between 1991 and 1996-11 --> collection.) [https://web.archive.org/web/20190601152204/https://www.sac.sk/download/text/mpdostip.zip<!-- A yet older version 155 from 1997-05-13 of the 1997-07-15 distribution archive. -->]</ref> <ref name="DCP_2016">{{cite web |title=Betriebssystem DCP |author-first1=Rüdiger |author-last1=Kurth |author-first2=Martin |author-last2=Groß |author-first3=Henry |author-last3=Hunger |date=2016-11-29 |orig-year=2007 |language=de |website=www.robotrontechnik.de |url=http://www.robotrontechnik.de/html/software/dcp.htm |access-date=2019-04-28 |url-status=live |archive-url=https://web.archive.org/web/20190403061152/http://www.robotrontechnik.de/html/software/dcp.htm |archive-date=2019-04-03}}</ref> <ref name="Paul_1997_4DOSTIP">{{cite web |title=Hinweise zu JPSofts 4DOS 5.5b/c, 5.51, 5.52a und NDOS |work=MPDOSTIP |author-first=Matthias R. |author-last=Paul |date=1997-05-01 |orig-year=1995-03-01 |language=de |url=http://www.antonis.de/dos/dos-tuts/mpdostip/html/4dostip.htm |access-date=2015-05-08 |url-status=live |archive-url=https://web.archive.org/web/20161104211143/http://www.antonis.de/dos/dos-tuts/mpdostip/html/4dostip.htm |archive-date=2016-11-04}} (NB. The provided link points to a HTML-converted version of the <code>4DOS5TIP.TXT</code> file, which is part of the <code>MPDOSTIP.ZIP</code><!-- still named TIPS_MP.ZIP between 1991 and 1996-11 --> collection.) [https://web.archive.org/web/20190601152204/https://www.sac.sk/download/text/mpdostip.zip<!-- A yet older version 155 from 1997-05-13 of the 1997-07-15 distribution archive. -->]</ref> <ref name="Schulman_1994_Undocumented-DOS">{{cite book |author-first1=Andrew |author-last1=Schulman |author-first2=Ralf D. |author-last2=Brown |author-link2=Ralf D. Brown |author-first3=David |author-last3=Maxey |author-first4=Raymond J. |author-last4=Michels |author-first5=Jim |author-last5=Kyle |title=Undocumented DOS: A programmer's guide to reserved MS-DOS functions and data structures - expanded to include MS-DOS 6, Novell DOS and Windows 3.1 |publisher=[[Addison Wesley]] |edition=2 |date=1994 |orig-year=November 1993<!-- first printing --> |isbn=0-201-63287-X |location=Reading, Massachusetts, USA |pages=623, 626 |url-access=registration |url=https://archive.org/details/undocumenteddosp00andr_0}} (xviii+856+vi pages, 3.5"-floppy) Errata: [https://web.archive.org/web/20190417215556/http://www.cs.cmu.edu/afs/cs/user/ralf/pub/books/UndocumentedDOS/errata.ud2][https://web.archive.org/web/20190417212906/https://www.pcjs.org/pubs/pc/programming/Undocumented_DOS/#errata-2nd-edition]</ref> }} ==延伸阅读== * {{Cite book |author-last=Cooper |author-first=Jim |title=Special Edition Using MS-DOS 6.22 |edition=3 |date=2001 |publisher=[[Que Publishing]] |isbn=978-0-78972573-8}} * {{Cite book |author-last=Wolverton |author-first=Van |title=MS-DOS Commands: Microsoft Quick Reference |url=https://archive.org/details/msdoscommandsinc0000wolv |edition=4th revised |date=1990 |publisher=[[Microsoft Press]] |isbn=978-1-55615289-4}} * {{cite web |title=Re: Random Lockups with DR-DOS 7.03 |date=2004-06-17 |author-first=Matthias R. |author-last=Paul |work=[[FidoNet]] conference: ALT_DOS |url=https://fidonet.ozzmosis.com/echomail.php/alt_dos/e812a919c10339d0.html |access-date=2019-04-28 |url-status=dead |archive-url=https://archive.today/20190428181749/https://fidonet.ozzmosis.com/echomail.php/alt_dos/e812a919c10339d0.html |archive-date=2019-04-28 |quote=[…] all MS-DOS versions prior to Windows 95 […] used a COM style COMMAND.COM file which has a special signature at the start of the file […] queried by the MS-DOS BIOS before it loads the shell, but not by the DR-DOS BIOS […] COMMAND.COM would […] check that it is running on the "correct" DOS version, so if you would load their COMMAND.COM under DR-DOS, you would receive a "Bad version" error message and their COMMAND.COM would exit, so DR-DOS would […] display an error message "Bad or missing command interpreter" (if DR-DOS was trying to load the SHELL= command processor after having finished CONFIG.SYS processing). In this case, you could enter the path to a valid DR-DOS COMMAND.COM (C:\DRDOS\COMMAND.COM) and everything was fine. Now, things have changed since MS-DOS 7.0 […] COMMAND.COM has internally become an EXE style file, so there is no magic […] signature […] to check […] thus no way for DR-DOS to rule out an incompatible COMMAND.COM. Further, their COMMAND.COM no longer does any version checks, but […] does not work under DR-DOS […] just crashes […] the PC DOS COMMAND.COM works fine under DR-DOS […] }} [https://archive.today/20190501023329/http://www.delorie.com/opendos/archives/browse.cgi?p=opendos/2004/06/17/06:23:16][https://archive.today/20190428182007/http://www.fybertech.com/misc/qwkview/qwkview.pl?conf=3010] ==外部連結== * {{GitHub|https://github.com/microsoft/MS-DOS/blob/master/v2.0/source/COMMAND.ASM}} – Source code to COMMAND.COM version 2.11 released by Microsoft as part of MS-DOS 2.0 * {{GitHub|https://github.com/microsoft/MS-DOS/blob/master/v1.25/source/COMMAND.ASM}} – Source code to COMMAND.COM version 1.17 released by Microsoft as part of MS-DOS 1.25 * [http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.2/repos/pkg-html/command.html FreeCom] {{Wayback|url=http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.2/repos/pkg-html/command.html |date=20200225225638 }} – COMMAND.COM implementation of FreeDOS <!-- COMMAND.COM is external, COMMAND is internal -->{{Windows commands}} [[Category:Command shells]] [[Category:DOS command shells]] [[Category:Windows command shells]] [[Category:Scripting languages]] [[Category:DOS files]] [[Category:Windows files]] [[Category:External DOS commands]] [[Category:MSX-DOS]] {{Windows Components}} [[Category:Windows组件]]
摘要:
请注意,所有对Local Chinese Wikipedia的贡献均可能会被其他贡献者编辑、修改或删除。如果您不希望您的文字作品被随意编辑,请不要在此提交。
您同时也向我们承诺,您提交的内容为您自己所创作,或是复制自公共领域或类似自由来源(详情请见
Project:著作权
)。
未经许可,请勿提交受著作权保护的作品!
取消
编辑帮助
(在新窗口中打开)
导航菜单
个人工具
未登录
讨论
贡献
创建账号
登录
命名空间
页面
讨论
大陆简体
不转换
简体
繁體
大陆简体
香港繁體
澳門繁體
大马简体
新加坡简体
臺灣正體
查看
阅读
编辑
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息