华人澳洲中文论坛

【WINDOWS / DOS 批处置】命令扩展

[复制链接]

2022-12-21 06:47:23 80 0

在 WINDOWS / DOS 脚本编程中,对之前一些命令(或变量)所做的更改或者功用的添加,称之为命令扩展,命令扩展会影响这些命令(或变量)的行动。例如:DOS管制台的命令历史记载就是一种命令扩展特性,也就是说,在没有启用命令扩展的DOS环境中,使用键盘上的上下标的目的键,是无奈切换至历史履行的cmd命令的。
命令扩展是cmd.exe的一种特性。
如何开启cmd.exe的命令扩展特性
开启cmd.exe的命令扩展特性的办法目前有两个:
1、命令行环境中,使用“cmd.exe /e:on”命令,它会关上一个新的命令行环境,在使用“cmd.exe /e:off”命令开启另外一个命令行环境(或者使用exit退出这个环境)以前,命令扩展特性一直无效。
2、在批处置文件中,在上面两个局部空间之一:
“setlocal enableExtensions”“endlocal”两个命令之间的局部空间中。
“setlocal enableExtensions” 和 批处置文件的开头处之间的局部空间中则会自动启用cmd.exe的命令扩展特性。也就是说, cmd.exe的命令扩展特性由“setlocal enableExtensions”来自动启用,在“endlocal”命令(或退出批处置文件)之后,“setlocal enableExtensions”启用的命令扩展特性将会生效。
示例一


运转


查看命令扩展特性的版本
DOS(CMD.EXE)启动后,其运转环境中曾经内置得多预约义变量,CMDEXTVERSION 就是其中一个。
以后CMD.EXE的命令扩展版本号被存储在内置变量 CMDEXTVERSION 中。
假如以后CMD.EXE启用了命令扩展,则CMDEXTVERSION会被预约义
假如以后CMD.EXE禁用命令扩展,则CMDEXTVERSION不会被预约义
DOS命令行环境的示例


批处置脚本的示例


运转


命令扩展特性对甚么有影响?
命令扩展会对一些命令发生影响
例如:命令扩展给IF命令添加了得多功用,“ equ ”运算符就是其中之一。禁用命令扩展时,在IF命令中不克不及使用“ equ ”运算符,示例如下:


命令扩展会对一些内置变量发生影响
批处置文件中的“%*” 内置变量只要在命令扩展时是无效的


运转


命令扩展会对一些预约义标签发生影响
例如,:EOF标签只要在命令扩展时是可用的,详见下面的 示例一
小技能
关于不同的CMD.EXE(其使用的命令扩展版本不同)环境,其命令扩展也是不同的。在正在使用的DOS环境中,使用“ cmd /? ”命令能够查看以后DOS环境的命令扩展包罗了对哪些命令的更改或者添加。
写作不容易,假如本文档帮到了您,请“反对一下”哦~

发表回复

您需要登录后才可以回帖 登录 | 立即注册

返回列表 本版积分规则

:
注册会员
:
论坛短信
:
未填写
:
未填写
:
未填写

主题33

帖子42

积分191

图文推荐

  • 撞穿学校栅栏害死十一岁男孩的司机不必坐牢

    一位女司机撞穿学校栅栏、害死了11岁男孩,被罚20

  • 全科医生正告花粉症时节正在好转

    全国各地的全科医生正告春季的开端标记着花粉症时

  • 新西兰总理:出世在新西兰的新纳粹Thomas S

    新西兰总理拉克森称新纳粹Thomas Sewell是坏人,

  • 新州护士和助产士承受暂时加薪3%的前提

    新州护士和助产士投票承受政府提出的暂时加薪3%以

  • 新纳粹份子如何利用“普通父母”的掩护在反

    星期天,新纳粹份子在反移民集会开端前大约一个小