我有一个批处理文件,运行了几个修改表格的Python脚本。
我希望用户注释掉他们不想运行的1-2个Python脚本,而不是从批处理文件中删除它们(这样下一个用户就知道这些脚本存在作为选项!)
我还想添加注释,特别提醒用户在运行之前需要更新的批处理文件中的变量。我看到可以使用
REM
。但是似乎这更适用于在用户运行之后更新用户进展情况。
是否有一种语法更适合添加注释?
我有一个批处理文件,运行了几个修改表格的Python脚本。
我希望用户注释掉他们不想运行的1-2个Python脚本,而不是从批处理文件中删除它们(这样下一个用户就知道这些脚本存在作为选项!)
我还想添加注释,特别提醒用户在运行之前需要更新的批处理文件中的变量。我看到可以使用REM
。但是似乎这更适用于在用户运行之后更新用户进展情况。
是否有一种语法更适合添加注释?
这是一个老话题,我想在这里添加我的理解,以扩展这个有趣的话题的知识。
REM和::之间的关键区别是:
REM本身是一个命令,而::不是。
我们可以将::视为一个标记,一旦CMD解析器在一行中遇到第一个非空格字符是这个::标记,它就会跳过整行并读取下一行。这就是为什么REM应该至少在其后面加上一个空格才能作为该行的注释功能,而::则不需要在其后面加上任何空格。
从以下FOR语法可以最好地理解REM本身是一个命令
基本的FOR语法如下:
FOR %v in (set) DO <Command> [command param]
这里的<Command>
可以是任何有效的命令,所以我们可以将以下有效的命令行写成rem
是一个命令。
FOR %i in (1,2,3) DO rem echo %i
然而,我们无法将以下行写成::
,因为::
不是一个命令。
FOR %i in (1,2,3) DO :: echo %i
::
是一个(无效的)标签(这解释了它的行为),因此不应使用它(尽管它仍然很常见)。 - Stephan