【问题标题】:How do I comment on the Windows command line?如何评论 Windows 命令行?
【发布时间】:2011-03-01 04:00:56
【问题描述】:

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

【问题讨论】:

标签: windows command-line comments


【解决方案1】:

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

REM Comment here...

【讨论】:

    【解决方案2】:

    它是“REM”。

    例子:

    REM This is a comment
    

    【讨论】:

      【解决方案3】:

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

      rem comment here
      echo "hello"
      

      【讨论】:

        【解决方案4】:

        您要查找的命令是rem,是“remark”的缩写。

        还有一些人使用的速记版本::,如果你眯着眼睛看它,这个有点看起来像#。我最初更喜欢那个变体,因为我是一个bash-aholic,我仍然试图忘记 BASIC 的痛苦日子:-)

        不幸的是,在某些情况下:: 会阻塞命令行处理器(例如在复杂的iffor 语句中),所以我现在通常使用rem。在任何情况下,这都是一种黑客行为,它借用标签基础结构使其看起来像评论,而实际上并非如此。例如,尝试在以下示例中将rem 替换为::,看看效果如何:

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

        你还应该记住rem是一个命令,所以你不能像bash中的#那样把它放在行尾。它必须去命令去的地方。例如,这两个中只有第二个会回显单个单词hello

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

        【讨论】:

        • 我知道 REM,但不知道 :: 语法。不是广为人知吗?
        • 嗯,我知道有人知道这件事。现在有两个 :-) 也许我可以声称我的知识量翻了一番。 FWIW,Rob van der Woude 的网站是一个真正出色的批处理文件(和其他)诡计:robvanderwoude.com/batchfiles.php
        • Which comment style should I use in batch files? 提供了有关:: 的更多详细信息。
        • 为避免注释出现在输出中,您可以在 REM 前加上 @@REM Some comment
        【解决方案5】:

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

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

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

        【讨论】:

          【解决方案6】:
          : 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.
          

          【讨论】:

            【解决方案7】:

            Powershell

            对于 powershell,使用 #:

            PS C:\> echo foo # This is a comment
            foo
            

            【讨论】:

              【解决方案8】:
              1. 一个冒号后面没有空格就足够了

              2. 只是不要将 cmets 留在块的最后一行

              终于,这行得通了:

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

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2015-08-08
                • 2011-03-25
                • 1970-01-01
                • 2011-01-12
                • 2010-09-24
                • 1970-01-01
                • 2020-06-08
                • 1970-01-01
                相关资源
                最近更新 更多