`
weitao1026
  • 浏览: 1053121 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

bat命令中 rem 和 :: 的区别

 
阅读更多

bat文件是dos下的批处理文件。批处理文件是无格式的文本文件,它包含一条或多条命令。它的文件扩展名为 .bat 或 .cmd。在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用cmd.exe按照该文件中各个命令出现的顺序来逐个运行它们。使用批处理文件(也被称为批处理程序或脚本),可以简化日常或重复性任务。

 

bat命令中rem和:: 的区别

rem和::都起到注释的作用,然而又有些不同。

一、

rem是一条命令,在运行的时候相当于把rem本身及其后面的内容置空。既然它是一条命令,就必须处于单独的一行或者有

类似“&”的连接符号连接。

二、

批处理遇到以冒号“:”开头的行时(忽略冒号前的空格),会将其后的语句识别为“标记”而不是命令语句,因此类似

“:label”这样的东东在批处理中仅仅是一个标记。

三、

对于“::”而言,之所以可以达到注释的效果,是因为第二个:不是标签的合法字符(把它换成\;.等等都行),它不被当

作一个合法的标签

这一点很好理解,如果在你的批处理中有一个永远用不到的标签hero,那么你就可以用“:hero”打头来作为注释。只不过

冒号有其先天的优越性--语法上的问题。

好了,我们现在回过头来看看call。比如“call:hero”,为什么要有冒号?这是为了与文件hero区分。

四、

嗯,我想你已经明白我的意思了,下面我将为你解释一些奇妙的东西。

经验告诉我们,在复合语句中使用“:”经常会出问题。那么究竟什么时候会出现问题?

例1、

复制内容到剪贴板

代码:

@echo off

@  %%i

for %%i in (a b c) do (

:来瓶啤酒

echo hero!

echo %%i

)

pause

这个运行没问题。

注:%%i 是for命令中独有的变量参数,由for命令进行解释,而且仅在for循环中有效。

例2、

复制内容到剪贴板

代码:

@echo off for %%i in (a b c) do (

echo hero!

:来瓶啤酒

echo %%i

)

pause

这个运行也没问题。

例3、

复制内容到剪贴板

代码:

@echo off

for %%i in (a b c) do (

echo hero!

echo %%i

:来瓶啤酒

)

pause

这个就有问题了。

例4、

复制内容到剪贴板

代码:

@echo off

if a==a (

echo super!

echo hero!

:来瓶啤酒

)

pause

这个也有问题。

例3和例4都提示--“此时不应该有)”。我们用眼看就能得到一个结论--标签所在行的下一行不能是后括号“)”。不过很

遗憾,看例5

例5、

复制内容到剪贴板

代码:

@echo off

echo super!

echo hero!

:来瓶啤酒

)

pause

运行没问题,看来问题还出在复合语句上而不仅仅是后括号“)”上。

如果这不是批处理的一个bug的话,那么请允许我大胆的猜测一下。回顾一下例4,“:来瓶啤酒”是复合语句块的最后一

句,此后该语句块中就没有语句了,如果此时有一个goto语句跳转过来,那么系统将无法识别下一句究竟是哪个而导致混

乱,为避免这种情况的发生,系统就设定了这么一个错误。

至于“::”的情况,其实也是一个道理,系统只知道它是一个标签而不进行处理,其它的“难题”都交给goto。

分享到:
评论

相关推荐

    BAT命令大全

    BAT 命令大全中包含了多个基本命令,包括 echo、@、call、pause、rem 等。这些命令都是批处理文件中最常用的命令。 1. echo 命令:echo 命令用于显示命令后的字符。例如,echo off 表示在此语句后所有运行的命令都...

    BAT 命令大全.docx

    下面是 BAT 命令大全中的一些重要知识点: 1. Echo 和 @:Echo 命令用于显示或隐藏命令的执行结果。@符号用于关闭单行回显,echo off 用于从下一行开始关闭回显,echo on 用于从下一行开始打开回显。 知识点:Echo...

    常用的BAT命令和用法.doc

    BAT 命令和用法 BAT 命令是一种批处理命令,用于自动执行多条命令。批处理文件的内容是一条一条的命令,它可以自动执行多个命令,提高工作效率。 常用的 BAT 命令包括: * echo: 显示此命令后的字符 * @: 与 echo...

    bat命令大全,txt格式

    ### bat命令大全解析 #### 一、简单批处理内部命令简介 ##### 1. Echo 命令 **概述:** `echo` 命令用于显示一条消息或者控制命令行的回显状态。 **语法:** ```bat echo [{on|off}] [message] ``` - `on`: 打开...

    bat命令大全

    这些命令通常被编写成一个扩展名为BAT的文本文件,使得用户可以一次性执行多个任务,节省时间和提高效率。下面我们将详细介绍一些基础和常用的批处理命令。 1. **REM**:REM是“remark”的缩写,它用于在批处理文件...

    bat批处理命令大全

    bat批处理命令大全 Bat批处理命令大全是一个强大的命令集合,用于自动执行一...通过本文的介绍,您已经掌握了Bat批处理命令大全的基本命令和高级命令,掌握了如何使用这些命令来自动执行一系列命令,提高工作效率。

    windows系统中的bat命令大全

    这个压缩包文件包含了一系列的BAT命令文件,帮助用户更高效地管理Windows系统。下面我们将详细介绍一些常用的BAT命令及其应用场景。 1. **`COPY`**: 用于复制文件,格式为`COPY source destination`,可以将一个或...

    BAT命令大全&BAT文件的编写指导

    在计算机领域,BAT命令和BAT文件是DOS操作系统(Disk Operating System)和Windows系统中的重要元素。BAT代表批处理文件,它们允许用户组合一系列命令,以便一次性执行,极大地提高了工作效率。尤其对于IT专业人员来...

    windows dos 命令 bat 集合

    - **注释**:在BAT文件中,`REM`命令用于添加注释,帮助理解脚本。 - **延迟环境变量扩展**:使用`setlocal enabledelayedexpansion`可以让脚本在循环中动态修改变量。 - **错误处理**:`@echo off`关闭命令回显...

    批处理bat命令大全

    ### 批处理bat命令大全详解 #### 一、概述 批处理bat命令是Windows操作系统下的一种脚本语言,主要用于自动化执行一系列预定义的命令。它通过编写.bat文件,实现批量处理任务,如文件操作、系统配置修改等。本文将...

    DOS_BAT命令全解

    DOS_BAT命令全解: 批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT。这些命令统称批处理命令,下面我就来给大家介绍一下批处理的命令。 1、 REM REM 是个注释命令一般是用来给程序...

    bat的常见命令和基本语句

    下面我们将详细探讨一些常用的BAT命令及其基本语句。 #### 基本概念 - **批处理文件**:一种包含了一系列DOS命令的文本文件,可以被解释器执行。 - **常用编辑工具**:可以通过DOS下的编辑器(如`EDIT`),或...

    批处理命令大全 bat

    批处理命令,通常用于自动化执行一系列的DOS命令,是Windows操作系统中的一种脚本语言。以下是一些常用批处理命令的详细说明: 1. **Echo命令**:Echo用于控制命令行上的回显功能,可以开启或关闭。"Echo on"会打开...

    bat命令入门与高级技巧详解.docx

    1. `REM`和`::`: 这两个命令用于添加注释,`REM`是传统的批处理注释方式,而`::`是等效且更简洁的注释语法。 2. `ECHO`和`@`: `ECHO ON/OFF`控制命令的回显,`@`在行首用于隐藏当前行的命令本身。 3. `PAUSE`: 使...

    bat命令大全 清理系统垃圾更简单.docx

    【bat命令大全 清理系统垃圾更简单】 ...总的来说,了解和熟练使用bat命令不仅可以提升日常电脑维护效率,还为系统管理和自动化任务提供了便利。通过学习和实践,我们可以创建更复杂的批处理脚本来解决各种IT问题。

    dos_命令_bat命令_遍历文件夹目录树批量修改_后缀名

    在IT领域,尤其是在系统管理和自动化任务执行中,DOS命令(也称为命令行接口或CMD)和BAT批处理脚本是不可或缺的工具。本话题主要关注如何使用DOS命令和BAT脚本来遍历文件夹目录树,并批量修改文件的后缀名。这是一...

    Windows的BAT命令大全.docx

    ### Windows的BAT命令大全 #### 概述 在Windows操作系统中,批处理文件(Batch files)是一种简单却功能强大的脚本文件,它们由一系列的命令组成,这些命令可以在命令提示符下手动输入来完成特定的任务。批处理...

Global site tag (gtag.js) - Google Analytics