如何在Windows命令提示符下进行注释?


Answers:


90

REM 是标准方法:

REM this is a comment

您还可以使用批处理文件中常见的双冒号约定:

:: another comment

单个冒号后跟一个字符串是一个标签,但是一个双冒号和它后面的所有内容均被忽略。有人可能会说这种形式比REM命令更易读。

请注意,这两种方法仅在行的开头起作用。如果要将注释添加到命令,则可以将它们与命令串联字符(&)一起使用,如下所示:

dir & REM a comment
dir &:: another one

2
谢谢。这是只有在遇到第一件事时才起作用,而不是做类似的事情dir :: comment吗?
安德鲁·格林

1
首先是有用的链接。然后,双冒号注释在代码块(括号之间的代码,如if/ for循环)中似乎不起作用。
x-yuri 2014年

@efotinis,rem实际上是命令吗?会::因为它本身被忽略而变得更好吗?
Pacerier,2015年

@Pacerier,是的,REM是实际命令,但是它嵌入在CMD.EXE中,因此它应该非常有效。另一方面,它::可能会更快,因为它会忽略行尾的所有内容(例如,它不会使用来检查链接的命令&)。
efotinis,2015年

2
请记住,::在某些情况下,使用可能会破坏您的代码,例如成为代码块的最后一行。
bryc


5

REM命令只言论(即说点什么为注释)从正在执行的路线。但是,如果@echo off批处理文件中没有该行,则该行仍将回显到屏幕。

为了防止显示这些行,您可以执行以下三种操作之一。

  1. 在批处理文件中添加@echo off
    如果要隐藏所有命令以及REM行,请在批处理文件的第一行中添加@echo off。
  2. 将REM更改为@REM
    如果要在运行批处理文件时显示命令,但仍要隐藏REM行,请键入@REM而不是REM。
  3. 使用::(即invalid lable)代替REM
    最后,使用::作为remark命令而不是REM也可以防止回显标记行。

资源


2

我相信bernhard提供的答案不正确。

至少通过赢7,

rem comment

批处理文件中的内容将打印在输出中。要抑制打印,请使用

@ rem comment

要么

@rem comment

其他命令也是如此,默认情况下,这些命令会回显到控制台。


该命令REM comment不会在屏幕上输出任何输出。要进行现场演示,请打开命令提示符并运行,echo comment然后运行命令rem comment。请注意,该echo命令将输出打印到屏幕上,而rem命令没有输出。
我说恢复莫妮卡2014年

我总是@REM comment在批处理脚本中使用以避免它们出现。我建议编辑Bernards答案以在批处理脚本中在REM之前使用@,以避免出现它,而不是发布一个全新的答案。
罗宾汉

3
@RobinHood,批处理文件默认情况下会回显所有命令(出于调试目的),这就是为什么习惯使用它们来启动它们@ECHO OFF & SETLOCAL ...。这样,您无需排在@所有行的前面,并且可以ECHO ON在发生问题时轻松切换到其他位置,并且需要进行一些测试。
efotinis,2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.