DOS批处理命令-注释

 

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

语法:

①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批处理实现定时关机操作

    10月1放假回来,寝室晚上10:30就停电了,最无法让人理解的是第二天早上8:00才来电.原来晚上电脑都是不关机的,开着WiFi一直到天亮,可是现在不行了,电脑如果一直开着第二天早上起来电脑肯定没电, ...

  2. DOS批处理中%cd%和%~dp0的区别

    DOS批处理中%cd%和%~dp0的区别   在DOS的批处理中,有时候需要知道当前的路径. 在DOS中,有两个环境变量可以跟当前路径有关,一个是%cd%, 一个是%~dp0.       这两个变量 ...

  3. DOS批处理不支持将UNC 路径作为当前目录的巧妙解决方案

    DOS批处理不支持将UNC 路径作为当前目录的巧妙解决方案在有些时候,需要在批处理中操作UNC目录,但批处理并不能直接对UNC目录进行操作,怎么办? 废话少说,直接上代码,打开网上邻居→整个网络→Mi ...

  4. 用DOS批处理实现FTP自动上传、下载、清理文件

    用DOS批处理实现FTP自动上传.下载.清理文件 最近好像特别的忙,好久没来写点东西了,今天写了一个利用批处理程序完成FTP自动上传.下载.清理文件的程序.赶紧 记录下来,以备日后之用.功能介绍:自动 ...

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

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

  6. DOS批处理延时技术

    DOS批处理延时技术 举个例子,我们要延时5秒打开gdh.txt这个文件,可以用以下几个方法 方法一:ping  缺点:时间精度为1秒,不够精确   www.2cto.com   @echo off  ...

  7. DOS批处理的字符串功能

    原文:DOS批处理的字符串功能 DOS批处理的字符串功能 批处理有着具有非常强大的字符串处理能力,其功能绝不低于C语言里面的字符串函数集.批处理中可实现的字符串处理功能有:截取字符串内容.替换字符串特 ...

  8. DOS批处理中%cd%和%~dp0的区别[forward]

    DOS批处理中%cd%和%~dp0的区别   在DOS的批处理中,有时候需要知道当前的路径. 在DOS中,有两个环境变量可以跟当前路径有关,一个是%cd%, 一个是%~dp0.      这两个变量的 ...

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

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

  10. 解决DOS批处理中一个困扰我几十个月的编码问题

    DOS批处理中的编码很有意思.&是命令连接符,先执行&左边的命令,再执行&右边的命令.|是管道操作,把左边的输出当作右边的输入.此外还有&&和||,当要表示这些 ...

随机推荐

  1. C语言深度剖析-----内存管理的艺术

    动态内存分配 为什么使用动态内存分配 例:记录卖出的商品 卖出商品最多只能记录1000个 两种改进的方法 都需要动态内存分配 第二种方法需要重置内存 calloc和realloc realloc重置内 ...

  2. POJ 2406 Power Strings KMP求周期

    传送门 http://poj.org/problem?id=2406 题目就是求循环了几次. 记得如果每循环输出为1.... #include<cstdio> #include<cs ...

  3. 37、mipg-streamer的使用讲解

    讲解mjpg-streamer 其功能: 1.控制摄像头采集数据(通过ioctl采集数据,所有不支持CMOS,CMOS之前写驱动的时候是通过read,所有需要修改mjpg-streamer的源码或者C ...

  4. POJ 2363 Blocks (ZOJ 1910) 数学

    杨宗纬的歌"这一路走来" 还蛮好听的,这首歌静静的躺在我的音乐盒某个阴暗的角落里,今天随机播放才发现的,哈哈. 数学一直是硬伤...... -------------------- ...

  5. UICollectionView使用方法补充(照片轮播墙)

    一 整体功能图和实现思路 1 完整的功能图: 2 实现功思路: 1> 流水布局(实现UICollectionView必需要的条件) 2> 自己定义cell(实现UICollectionVi ...

  6. [TypeStyle] Compose CSS classes using TypeStyle

    We will demonstrate composing classes using the utility classes function. classes is also what we re ...

  7. 百度地图 layer弹出地图 获取坐标

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. swift学习第七天:字典

    字典的介绍 字典允许按照某个键来访问元素 字典是由两部分集合构成的,一个是键(key)集合,一个是值(value)集合 键集合是不能有重复元素的,而值集合是可以重复的,键和值是成对出现的 Swift中 ...

  9. ios开发网络学八:NSURLSession相关代理方法

    #import "ViewController.h" @interface ViewController ()<NSURLSessionDataDelegate> /* ...

  10. php实现把二叉树打印成多行(谋而后动,写好算法思路,不然浪费超多时间而且还是错误代码,而且精力消耗会导致代码正确率下降以及低级错误)

    php实现把二叉树打印成多行(谋而后动,写好算法思路,不然浪费超多时间而且还是错误代码,而且精力消耗会导致代码正确率下降以及低级错误) 一.总结 要点:a.层次遍历(队列)  b.层次遍历中的层次(孩 ...