我知道这不是一个与编程相关的问题,但我似乎无法找到答案。
批次创建于哪一年?或者谈论CMD创建的年份是否更合适?在哪种情况下 - CMD创建于哪一年?
如果这个问题以任何方式违反规则,我道歉。我问的原因是参加了Code Golf StackExchange网站的挑战。
答案 0 :(得分:6)
您是否需要区分command.com
和cmd.exe
?
Command.com - 是由DOS and QDOS(1981年左右)创建的Tim Paterson最早版本的命令行解释器,但是command.com也通过了很多变化,可能是第5版中最激烈的。
MSDOS 1.0 支持的命令 - (CD COPY DEL DIR EDIT FORMAT HELP MKDIR RD REN TYPE )
在 MSDOS 5.0 (1991)中引入了更多高级命令 - (even microsoft keeps a documentation for it),可能更接近编程语言。
1993年Windows NT发布了Therese Stowell创建的新 cmd.exe (以及旧的command.com) - 它有许多新功能,如FOR
和IF
命令,子程序等的附加开关。这是我们今天所知的“现代”批处理脚本(尽管它接近于ms-dos 5 command.com)。
这让我花了一些时间在Google上搜索,但希望信息足够:)
答案 1 :(得分:3)
最早对批处理文件的引用是1981年,随着IBM PC DOS 1.0的发布 - 它使用文件AUTOEXEC.BAT在启动时运行各种命令。
而且这个问题是否属于关于它是否是主题的灰色地带;没有具体的编程问题,但它仍然与编程有关,根据我最近失败的审查审计,这显然是可以的。
答案 2 :(得分:1)
MSDos基于CP / M功能,具有兼容性。在Ver 2中添加了Unix类型功能.CMD作为命令shell启动,它将运行MSDos批处理文件,但在OS / 2中添加了功能(IBM不是MS做了CMD)。 CMD进入NT并且在Win 2000和Win 2000之后有两个主要版本。在Windows 2000之前,Dos批处理文件和程序在OS / 2子系统中运行,而不是Windows子系统中的Dos仿真器。
Windows中的command.com现在是版本5.5并将所有命令传递给cmd执行,除非像command.com /k ver
那样启动(将其与command.com
然后ver
进行比较)。
答案 3 :(得分:1)
我不记得我何时购买了我的第一台PC电脑,但应该是在1984年或1985年左右;它是一个“PC克隆”的Printaform计算机,其中包含MS-DOS 2.11和由command.com程序执行的批处理文件。我清楚地记得当时的Batch功能足以编写许多有趣的程序。它通过SET
命令和%variable%
值替换以及FOR
,IF
和CALL
命令(包括递归子例程)进行变量管理。
之后不久,我在Dobb博士的日记中读到了一篇文章,向我展示了如何从正在运行的程序中修改command.com的环境变量,所以我写了第一个这种类型的程序,LET.COM,它允许我执行现代cmd.exe批处理文件功能的许多年前,批处理文件中的高级变量管理,如算术运算,数据输入等。
您可以在网络的许多网站中查看MS-DOS开发的历史记录,包括批处理文件功能,例如this one in Wikipedia。