标准的 Windows 提示命令文件在哪里?

Jad*_*ias 24 windows windows-7 command-line dir

如果我dir在命令行中输入,我猜它会dir.exe在系统中的某处执行一个隐藏。有这样的文件吗?它在哪里?

Meh*_*lar 38

dir是一个内部MS-DOS 命令。与其他内部命令一样,它内置在名为command.com的文件中。维基百科有一个DOS 命令列表页面,它说:

MS DOS 的命令解释器在没有应用程序运行时运行;应用程序退出后,如果用于命令解释器的内存被覆盖,MS DOS 将从磁盘存储中重新加载命令解释器。命令解释器通常存储在名为“ COMMAND.COM ”的文件中。某些命令内置于 COMMAND.COM。当用户在操作系统命令提示符下键入一行文本时,COMMAND.COM 将解析该行,并尝试将命令名称与内置命令或磁盘上的可执行程序文件或批处理文件的名称匹配. 如果未找到匹配项,则会打印一条错误消息并刷新命令提示符。

驻留命令在 MS DOS 的修订版之间略有不同。通常,函数DIR(列出目录)、ERASEDEL(擦除文件或目录)、COPY(复制文件)、DATE (显示或设置日期)、TIME(显示或设置时间)、CD(更改工作目录)、MD(在当前磁盘上创建目录)、REN(重命名文件或目录)和其他一些驻留在 COMMAND.COM 中。

为了使我的回答完整,以下是 MS-DOS 内部和外部命令的列表。内部命令驻留在COMMAND.COM 中,在计算机系统启动时加载到内存中;这些命令不驻留在磁盘上。外部命令是驻留在磁盘上并具有.COM.EXE.BAT扩展名的文件。这两种命令类型都是在 MS-DOS 提示符下执行的。

内部命令:

  • 休息
  • 称呼
  • 热电联产
  • 光盘(CD)
  • CLS
  • 复制
  • CTTY
  • 日期
  • 删除(擦除)
  • 目录
  • 回声
  • 出口
  • 为了
  • 如果
  • MKDIR(MD)
  • 小路
  • 暂停
  • 迅速的
  • 快速眼动
  • 重命名(REN)
  • RMDIR(RD)
  • 转移
  • 时间
  • 类型
  • VER
  • 核实
  • 音量

外部命令:

  • 附加文件
  • ASSIGN.COM
  • 属性文件
  • 备份文件
  • CHKDSK.EXE
  • 指挥网
  • 压缩文件
  • 调试程序
  • DISKCOMP.COM
  • 光盘复制网
  • DOSKEY.COM
  • DOSSHELL.COM
  • 编辑网
  • 编辑器
  • EMM386.EXE
  • 可执行文件
  • 扩展程序
  • 速通软件
  • 执行程序
  • 磁盘驱动程序
  • 格式网
  • 嫁接网
  • 图形网
  • 帮助文件
  • 加入程序
  • KEYB.COM
  • 标签文件
  • 内存文件
  • 镜子网
  • MODE.COM
  • 更多网
  • NLSFUNC文件
  • 打印文件
  • QBASIC.EXE
  • 恢复文件
  • 替换文件
  • 恢复文件
  • 设置程序
  • 共享文件
  • 排序程序
  • SUBST.EXE
  • 系统网
  • 树网
  • 取消删除程序
  • UNFORMAT.COM
  • 复制文件

参考:微软支持

注意:外部命令驻留在C:\Windows\System32假设根驱动器是C:.

  • 我不确定这是否正是 grawity 所暗示的,但 command.com 是本机 DOS 命令行 shell 的名称。它包含在 Windows 9x 中,因为 Windows 的生成依赖于 DOS 的某些服务。Windows NT 完全不依赖于 DOS,因此 command.com 不存在,NT 中的 shell 是一个名为 cmd.exe 的本地 Windows 应用程序,位于 %WINDIR%\System32 (5认同)
  • +1 表示广泛的列表,但 -1 表示混合 MS-DOS 和 Windows 命令行外壳。 (4认同)

小智 13

Dir是一个内部命令,如cdcopycall。这只是您正在调用的 DOS 解释器的一个子程序。

但是,有外部命令。这些通常驻留在C:\Windows\ C:\Windows\System\ C:\Windows\System32和(如果您有 64 位窗口)C:\Windows\SysWOW64\

但是,外部命令不限于这些位置。可以从您正在工作的目录中调用外部命令。(在 Windows 7 上新启动的 DOS shell 中,这通常是C:\Users\YourUsername\)。也可以调用来自其他目录的外部命令,只要它们所在的目录在您的PATH环境变量中即可。要查看路径中的目录,请使用SET PATH.

如果您需要某个目录中的某些实用程序,但必须遍历其他目录,则可以PATH使用SET PATH=%PATH%;DriveLetter:\Utility\Path\Here\. 此更改仅影响该 DOS 窗口。

我希望这是新的和有用的知识!


小智 10

大多数标准的“DOS”命令都内置在 Windows 的命令外壳中。没有dircd应用程序