注释是每个程序中不可或缺的(不是对计算机来说,而是对我们这些程序员阅读代码来说)

语法:

①rem 这是批处理的注释命令,rem后面的内容全部是注释

例:rem 这是一行注释

②:: 批处理遇到以冒号“:”开头的行时(忽略冒号前的空格),并且第二个:不是标签的合法字符(把它换成\;.等等都行),它不被当作一个合法的标签。自己不能被执行,也不能被当做标签(goto语句无法跳转得到),也不会被执行,这样的一行不就跟注释一样么

例如下面代码:

echo on
rem this is a comment.
echo this is a comment.
:: this is a comment too.
echo this is a comment too.

运行结果:

F:\tmp>echo on

F:\tmp>rem this is a comment.

F:\tmp>echo this is a comment.
this is a comment.

F:\tmp>echo this is a comment too.
this is a comment too.

从【rem this is a comment.】这一句可以看出,rem这是一个命令,但是不做任何处理。

而语句【:: this is a comment too.】没有回显到屏幕上,说明这个不是一个语句,当然也不是一个有效的标签,这里我们就当做是注释。

::这个后面真的不是标签么?

我们接下来做一个验证

echo on
goto comment
echo a
echo b
echo c
echo d
::comment
echo the last

运行结果是:

F:\tmp>goto comment
指定されたバッチ ラベルが見つかりません - comment【制定的batch标签未找到 - comment】

所以,::comment不是一个有效的标签,也不是一个有效的语句。哈哈,那这就是有效的注释了。

批处理中利用批处理的语法特性,还有一些其他的注释格式,个人不是很喜欢,仅仅是列出来,以望大家参考。

①goto语句和标签的使用,实现块儿注释,就是跳过goto语句和标签之间的内容

echo off
goto comment
commentcommentcommentcomment
commentcommentcomment
commentcomment
comment
:comment
echo the last

执行结果

F:\tmp>echo off
the last

可见,goto语句和标签之间的内容被全部跳过,也不管那些内容是什么,些的对不对。

②%%百分号之间的内容都会帮当做注释的

echo on
echo a
echo %ssss%b
echo c

%%里面的ssss会当做注释给忽略掉,就跟不存在%ssss%这些字符一样。

这种注释你不是看着很眼熟呢?对的,这个本来是用来取变量值的,而由于我们注释的内容,一般是没有被赋值过,也就是说,这个变量的值是空的。所以,运行的时候,就忽略到中间的内容。

看看执行结果就知道了。

F:\tmp>echo on

F:\tmp>echo a
a

F:\tmp>echo b
b

F:\tmp>echo c
c

不过,这个注释是不可以跨行的使用的,还有一点就是,单个出现的%会被忽略,刚才的那个语句如果写成%ssss%%b,黄色标记的%在执行的会被忽略,也就是一行中,如果最后一个%落单后,就会被寂寞的消失在代码的长河中。

rem 好了,别的也不废话了,这些注释已经够你用了,就不要再花心了。

DOS批处理命令-注释的更多相关文章

  1. DOS批处理命令递归删除给定的文件(夹),兼VC工程清理小工具

    使用dos批处理命令递归删除指定的文件(夹): (下面内容针对清理VC工程!自己按说明任意修改) 2014-06-10修改:删除前增加了[y,n]询问: echo off rem 递归删除当前文件下指 ...

  2. DOS批处理命令判断操作系统版本、执行各版本对应语句

    DOS批处理命令判断操作系统版本.执行各版本对应语句   昨天在家里试用  netsh interface ip set address 这些命令更改上网IP.DNS.网关等,今天将那些代码拿来办公室 ...

  3. DOS批处理命令-if语句

    IF语句是批处理中执行的条件分歧处理. 批处理中,IF分歧的写法有好几种,接下来,我们来一个一个的分析IF语法的结构. 1.IF [NOT] ERRORLEVEL 番号 批处理命令 当ERRORLEV ...

  4. DOS批处理命令-几个固定名称的变量

    批处理中有一些变量的变量名称是固定的,具有特定的意义,接下来,我们来看看这些有特定意义的变量到底有什么意义. 1.%CD%   当前路径的路径名[盘符 + 路径]    - 現在のディレクトリ文字列に ...

  5. DOS批处理命令-@命令

    @命令是一个禁止当前语句回显的简单命令. 语法: @[command].[command]是要屏蔽的批处理命令 例如执行包含以下内容的bat文件 echo on @echo ------- @echo ...

  6. cocos2d-x教程3:用php或DOS批处理命令来转换文件和解压缩zip

    在cocos2d-x使用中,须要不停的转换文件和压缩或解压文件.假设全人工来做,太麻烦了,且easy出错. 我如今把一些用的到批处理贴出来,供大家使用 自己主动把dat文件按数字排序重命名gz.DOS ...

  7. DOS 批处理命令For循环命令详解

    for命令是一种对一系列对象依次循环执行同一个或多个命令的在命令行或批处理中运行的命令,结合一些Windows管理中的程序后,其处理功能强大.应用灵活方便程度令人刮目相看   for命令是一种对一系列 ...

  8. DOS批处理命令

    1.echo的用法(echo /? --查看帮助) echo off/on  打开关闭回显功能(@echo off 关闭回显并且不需要回显 echo 命令) echo,   显示空行(也可以是; . ...

  9. DOS批处理命令-for语句

    for是为了循环执行一系列命令而执行的命令语句. for要处理的内容不同,语法结构稍有不同.下面就各种情形来分别 1.基本的语法:FOR %変数 IN (set) DO 命令 [参数] 语法内容解析: ...

随机推荐

  1. 很值得学习的java 画图板源码

    很值得学习的java 画图板源码下载地址:http://download.csdn.net/source/2371150 package minidrawpad; import java.awt.*; ...

  2. Codeforces Beta Round #85 (Div. 1 Only) B. Petya and Divisors 暴力

    B. Petya and Divisors Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/111 ...

  3. C#中使用UDP通信

    UDP通信是无连接通信,客户端在发送数据前无需与服务器端建立连接,即使服务器端不在线也可以发送,但是不能保证服务器端可以收到数据. 服务器端代码: static void Main(string[]  ...

  4. C++ Caption

    主题 1. 设置控件的标题文本 2. 获取控件的标题文本     Caption属性 取得一个窗体的标题(caption)文字,或者一个控件的内容   红色的部分就是 Caption 标题   Set ...

  5. android143 360 短信电话拦截

    package com.itheima.mobileguard.services; import java.lang.reflect.Method; import android.app.Servic ...

  6. centos x86_64--------------------------------系统调用

    http://blog.csdn.net/hmsiwtv/article/details/11022241 [root@monitor ~]# cat /usr/include/asm/unistd. ...

  7. 天池大数据周冠军分享|附移动推荐算法赛答辩会Top5选手PPT

    上周是淘宝穿衣搭配算法大赛开始评测后的第一周,周冠军是来自浙江大学的"FUC AUTH"队.他们在夺得本周冠军之后,还将自己的获胜经验分享给了大家,究竟有什么秘诀呢? 阿里巴巴天池 ...

  8. mysql索引常见问题

    一:对于先建索引再插入和先插入再统一建索引效率: 对于大数量的表来说, 先加载数据再来定义全文索引的 速度要远远优于在一个已经定义好全文索引的表里面插入大量数据的速度.一定会问:这是问什么呢?其实,道 ...

  9. SSIS 学习(2):数据流任务(上)【转】

    数据流任务是SSIS中的一个核心任务,估计大多数ETL包中,都离不开数据流任务.所以我们也从数据流任务学起. 数据流任务包括三种不同类型的数据流组件:源.转换.目标.其中: 源:它是指一组数据存储体, ...

  10. kali的openvas安装 留下笔记

    kali的openvas安装 留下笔记,以便下次再查开始在kali找openvas,竟然kali不自带,害的要下载. apt-get updateapt-get dist-upgradeapt-get ...