如何在 Windows 命令行上注释?

在 Bash 中,# 用于注释以下内容。如何在 Windows 命令行上进行注释?

230121 次浏览

使用 REM 命令生成注释,REM 命令是“ Remark”的缩写。

REM Comment here...

是“ REM”。

例如:

REM This is a comment

以“ rem”开头的行(来自单词备注)是注释:

rem comment here
echo "hello"

您正在寻找的命令是 rem,是“备注”的缩写。

还有一个简写版本的 ::,一些人使用,这个 算是吧看起来像 #,如果你斜视一点,看它的侧面。我最初更喜欢这个变体,因为我是一个 bash狂热者,我仍然试图忘记 BASIC: -)的痛苦日子

不幸的是,有些情况下 ::会占用命令行处理器(例如在复杂的 iffor语句中) ,所以我现在通常使用 rem。在任何情况下,这都是一种黑客行为,从属于标签基础结构,使其 听着像一个注释,而实际上并非如此。例如,在下面的示例中尝试用 ::替换 rem,看看它是如何工作的:

if 1==1 (
rem comment line 1
echo 1 equals 1
rem comment line 2
)

您还应该记住,rem指挥官,,所以您不能像 bash中的 #那样只是在行的末尾敲击它。它必须去指挥部会去的地方。例如,下面的第一行输出所有的 hello rem a comment,但是第二行输出一个单词 hello:

echo hello rem a comment.
echo hello& rem a comment.

第二个是由 &分隔的两个 分开命令,在 &之前没有空格,因为 echo 也会输出这些命令。这对于屏幕输出来说并不重要,但是,如果你重定向到一个文件,它可能会:

echo hello >file          - includes the space.
echo hello>file           - no space.

有时,将注释添加到命令行是很方便的。为此,您可以使用“ & REM misc 注释文本”,或者,现在我知道了,“ & : : misc 注释文本”。例如:

REM SET Token="4C6F72656D20697073756D20646F6C6F" &REM This token is for localhost
SET Token="722073697420616D65742C20636F6E73" &REM This token is for production

这使得在进行探索、概念测试等时,可以很容易地跟踪多组值。这种方法之所以有效,是因为“ &”在同一行中引入了一个新命令。

: this is one way to comment

结果是:

:: this will also work
:; so will this
:! and this
: ***** and so on ***** :
: // even this \\ :

以上样式使用 在外面代码块,否则:

REM is another way to comment.

强力外壳

对于 powershell,使用 #:

PS C:\> echo foo # This is a comment
foo
  1. 一个没有空格的冒号

  2. 只是不要在块的最后一行留下注释

最后,这种方法是有效的:

if 1==1 (
:comment line 1
echo 1 equals 1
)