Batch 是什么时候创建的?
When was Batch created?
我知道这不是严格意义上的编程相关问题,但我似乎找不到答案。
Batch 是哪一年创建的?还是说 CMD 创建的年份更合适?在这种情况下 - CMD 创建于哪一年?
如果这个问题以任何方式违反规则,我深表歉意。我问的原因是参加 Code Golf StackExchange 网站上的挑战。
最早提到批处理文件是在 1981 年,当时发布了 IBM PC DOS 1.0 - 它在启动时使用文件 AUTOEXEC.BAT 到 运行 各种命令。
在我看来,这个问题是否切合主题属于灰色地带;没有具体的编程题,但还是和编程有关,根据我最近没通过的review audit看来应该没问题。
MSDos 基于 CP/M 兼容性功能。在 Ver 2 中添加了 Unix 类型的功能。CMD 最初是一个命令 shell,它将 运行 MSDos 批处理文件,但在 OS/2 中添加了功能(IBM 而不是 MS 做了 CMD)。 CMD 被纳入 NT 并且有两个主要版本 pre Win 2000 和 post Win 2000。在 Windows 2000 之前 Dos 批处理文件和程序 运行 在 OS/2 子系统中,而不是 Windows 子系统中的 Dos 模拟器。
Windows 中的 command.com 现在是 5.5 版并将所有命令传递给 cmd 执行,除非像这样 command.com /k ver
开始(与键入 command.com
然后 ver
).
需要区分command.com
和cmd.exe
吗?
Command.com - 是 DOS and QDOS created by Tim Paterson 最早版本(1981 年左右)的命令行解释器,但 command.com 也通过了经过大量更改,可能是第 5 个版本中最彻底的。
MSDOS 1.0 支持的命令 - (CD COPY DEL DIR EDIT FORMAT HELP MKDIR RD REN TYPE )
在 MSDOS 5.0 (1991) more advanced commands were introduced - (even microsoft keeps a documentation for it) 中,它可能更接近于一种编程语言。
1993 年 Windows NT was released packed with the new cmd.exe (along with the old command.com) created by Therese Stowell - 它有很多新功能,例如 FOR
和 IF
命令的附加开关、子例程等。这是 'modern' 批处理-编写我们今天所知道的脚本(尽管它接近于 ms-dos 5 command.com)。
这让我在谷歌搜索上花费了一些时间,但希望信息足够:)
我不记得我是什么时候买的第一台个人电脑了,但应该是在 1984 年或 1985 年左右;这是一台 "PC clone" Printaform 计算机,配备 MS-DOS 2.11 和由 command.com 程序执行的批处理文件。我还历历在目地记得,那个时候的 Batch 特性已经足够写出很多有趣的程序了。它通过 SET
命令和 %variable%
值替换以及 FOR
、IF
和 CALL
命令进行变量管理,包括递归子例程。
不久之后,我在 Dr. Dobb's Journal 中读到一篇文章,向我展示了如何从 运行 程序修改 command.com 的环境变量,因此我编写了我的第一个此类程序,LET.COM,这让我能够在批处理文件中执行高级变量管理,如算术运算、数据输入等,比现代 cmd.exe 批处理文件功能早很多年。
您可以在 Web 的许多站点中查看 MS-DOS 开发的历史,包括批处理文件功能,例如 this one in Wikipedia。
我知道这不是严格意义上的编程相关问题,但我似乎找不到答案。
Batch 是哪一年创建的?还是说 CMD 创建的年份更合适?在这种情况下 - CMD 创建于哪一年?
如果这个问题以任何方式违反规则,我深表歉意。我问的原因是参加 Code Golf StackExchange 网站上的挑战。
最早提到批处理文件是在 1981 年,当时发布了 IBM PC DOS 1.0 - 它在启动时使用文件 AUTOEXEC.BAT 到 运行 各种命令。
在我看来,这个问题是否切合主题属于灰色地带;没有具体的编程题,但还是和编程有关,根据我最近没通过的review audit看来应该没问题。
MSDos 基于 CP/M 兼容性功能。在 Ver 2 中添加了 Unix 类型的功能。CMD 最初是一个命令 shell,它将 运行 MSDos 批处理文件,但在 OS/2 中添加了功能(IBM 而不是 MS 做了 CMD)。 CMD 被纳入 NT 并且有两个主要版本 pre Win 2000 和 post Win 2000。在 Windows 2000 之前 Dos 批处理文件和程序 运行 在 OS/2 子系统中,而不是 Windows 子系统中的 Dos 模拟器。
Windows 中的 command.com 现在是 5.5 版并将所有命令传递给 cmd 执行,除非像这样 command.com /k ver
开始(与键入 command.com
然后 ver
).
需要区分command.com
和cmd.exe
吗?
Command.com - 是 DOS and QDOS created by Tim Paterson 最早版本(1981 年左右)的命令行解释器,但 command.com 也通过了经过大量更改,可能是第 5 个版本中最彻底的。
MSDOS 1.0 支持的命令 - (CD COPY DEL DIR EDIT FORMAT HELP MKDIR RD REN TYPE )
在 MSDOS 5.0 (1991) more advanced commands were introduced - (even microsoft keeps a documentation for it) 中,它可能更接近于一种编程语言。
1993 年 Windows NT was released packed with the new cmd.exe (along with the old command.com) created by Therese Stowell - 它有很多新功能,例如 FOR
和 IF
命令的附加开关、子例程等。这是 'modern' 批处理-编写我们今天所知道的脚本(尽管它接近于 ms-dos 5 command.com)。
这让我在谷歌搜索上花费了一些时间,但希望信息足够:)
我不记得我是什么时候买的第一台个人电脑了,但应该是在 1984 年或 1985 年左右;这是一台 "PC clone" Printaform 计算机,配备 MS-DOS 2.11 和由 command.com 程序执行的批处理文件。我还历历在目地记得,那个时候的 Batch 特性已经足够写出很多有趣的程序了。它通过 SET
命令和 %variable%
值替换以及 FOR
、IF
和 CALL
命令进行变量管理,包括递归子例程。
不久之后,我在 Dr. Dobb's Journal 中读到一篇文章,向我展示了如何从 运行 程序修改 command.com 的环境变量,因此我编写了我的第一个此类程序,LET.COM,这让我能够在批处理文件中执行高级变量管理,如算术运算、数据输入等,比现代 cmd.exe 批处理文件功能早很多年。
您可以在 Web 的许多站点中查看 MS-DOS 开发的历史,包括批处理文件功能,例如 this one in Wikipedia。