• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >DOS/BAT > cmd批处理转义字符%的详细解释

cmd批处理转义字符%的详细解释

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了cmd 转义字符,cmd 转义,批处理转义字符,cmd字符,cmd命令字符等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
1、%是个ESCAPE字符,通常将之译为转义字符,但也有更形象的译名脱逸字符、逃逸字符等。也就是说%不仅仅将与其相关的特定字符串转义并替换为特定字符串,而且自身也会被“脱逸”。而且类似于C语言中的转义字符"\",双%会转义并脱逸为单%,四%则脱为双%。

2、for本身是一个特殊的命令,类似于一个特化的命令解释器,因为它的功能实现需要执行多条语句,因此它必须也具有对命令行(特指do后的命令行)分析处理的功能。而command/cmd实现for时自然会借用自身原有的命令行分析模块,因此for具有二级转义的特性,for中do后的语句被分两级分析和解释,第一级在command/cmd读入并解释for命令行时,第二级在for读入并解释do命令时,它通常会对同一命令行的进行多次解释。

然后,我们可以注意到,在do中使用命令行参数变量和环境变量时,不需要双%,那是因为,这些变量在经过第一级转义后,被替换成特定的不变的字符串常量,参与for循环的所有执行过程;而替代变量则要求在执行(do后的子命令行中)过程中不断的动态变化,而这个变化自然仍需要通过脱逸字符来实现,因此使用双%就是成了必然的选择。

另外,还需要注意到,在命令行中使用for时不需要双%,这源于命令解释器对命令行与批处理的处理方式不同。在早期的DOS版本中,%在命令行中不被视为转义字符,所以不会被转义和脱逸,所以当时无法在命令行直接引用环境变量。而使用for时,只需要一个%供for进行转义和脱逸就够了。在以后的命令解释器版本中,加入了命令行转义的支持(主要是环境变量的支持),但命令行for使用单%的传统仍然保留了下来。

而 cmd中的变量延迟替换是属于特殊的情况,但不违背以上的转义原则,只是for中的环境变量不再是常量了。 </div>

您可能想查找下面的文章:

  • cmd批处理转义字符%的详细解释

相关文章

  • 命令行实现MAC与IP地址绑定 ip mac绑定 如何绑定mac地址
  • 批处理版的SC
  • dos if 条件判断
  • 非常好的for 教程, 当时我就是看这个学习for 的第1/2页
  • dos(cmd)中删除、添加、修改注册表命令
  • 批处理命令教学之管道符号(|)
  • 批处理中实现替换文本内容
  • 恶意软件\垃圾流氓通用反删除批处理文件
  • 九九乘法表 批处理版
  • 用批处理实现的反应速度测试工具

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • BAT批处理文件语法第1/2页
    • 批处理解约瑟夫环应用题代码
    • DOS 批处理命令For循环命令详解
    • Setver、Share、Subst命令的使用方法
    • BAT批处理判断目录在%Path%中实现方法
    • windows下使用批处理实现切换JDK环境变量
    • 让DOS下输入命令时也可以象Linux一样用Tab键进行命令自动填充
    • 纯脚本备份_还原驱动增强版附相关sleep.exe
    • 可以使用的批处理参数集合
    • 在下次启动计算机时会自动关机。重起后恢复正常(“绿色版”)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有