华人澳洲中文论坛

热图推荐

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

    [复制链接]

    2022-12-21 06:47:23 41 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环境的命令扩展包罗了对哪些命令的更改或者添加。
    写作不容易,假如本文档帮到了您,请“反对一下”哦~

    发表回复

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

    返回列表 本版积分规则

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

    主题34

    帖子43

    积分191

    图文推荐