如何在一个批处理/cmd中"comment-out"(添加注释)?

我有一个批处理文件,运行几个Python脚本,对表进行修改。

1.我想让用户注释掉他们不想运行的1-2个python脚本,而不是从批处理文件中删除它们(所以下一个用户知道这些脚本作为选项存在!)。

2.我还想添加注释,让他们特别注意在运行批处理文件前需要更新的变量。我看到我可以使用REM。但看起来这更多是为了在用户运行后更新其进度。

有没有一种语法可以更恰当地添加注释?

使用::REM

::   commenttttttttttt
REM  commenttttttttttt

但(正如人们指出的)。

  • 如果你使用内联,你需要添加&字符:
    你的命令在这里&:commentttttttttt
  • 在嵌套逻辑(IF/ELSEFOR循环,等等......)里面使用REM,因为::会产生错误。
  • ::setlocal ENABLEDELAYEDEXPANSION内可能失败。
评论(19)
解决办法

rem'命令的确是为了注释。在运行脚本后,它本身并不更新任何人。不过有些脚本作者可能会用它来代替echo',因为在默认情况下,批处理解释器会在处理每个命令之前打印出来。由于rem命令不做任何事情,所以打印它们是安全的,没有副作用。要避免打印一个命令,可以在它前面加上@,或者,要在整个程序中应用这个设置,可以运行@echo off。("echo off "是为了避免打印更多的命令;"@"是为了避免在echo设置生效之前打印该*命令)。

因此,在你的批处理文件中,你可以这样使用。

@echo off
REM To skip the following Python commands, put "REM" before them:
python foo.py
python bar.py
评论(6)

不,普通的批处理文件使用REM作为注释。 ECHO是在屏幕上打印东西的命令。

要对文件的某些部分进行注释,你可以使用GOTO。 所有这些命令/技术的一个例子。

REM it starts here the section below can be safely erased once the file is customised
ECHO Hey you need to edit this file before running it!  Check the instructions inside
ECHO Now press ctrl-c to interrupt execution or enter to continue
PAUSE
REM erase the section above once you have customised the file
python executed1.py
ECHO Skipping some stuff now
GOTO End
python skipped1.py
python skipped2.py
:END
python executed2.py

我还能说什么呢?批处理文件是很久以前的遗物了,它们既笨重又丑陋。

你可以阅读更多在这个网站

编辑:对例子进行了一些修改,使其包含了你显然正在寻找的元素。

评论(0)