批处理 - 脚本注释

首页 / 批处理 / 批处理 - 脚本注释

为创建的脚本添加注释或文档始终是一个好习惯,这是维护脚本以了解脚本实际功能所必需的。

如,考虑下面没有注释形式的代码,如果没有编写以下脚本的普通人试图理解该脚本,则该人将花费大量时间来理解该脚本的实际作用。

ECHO OFF 
IF NOT "%OS%"=="Windows_NT" GOTO Syntax ECHO.%* | FIND "?" >NUL 
IF NOT ERRORLEVEL 1 GOTO Syntax IF NOT [%2]==[] GOTO Syntax SETLOCAL 
SET WSS= 
IF NOT [%1]==[] FOR /F "tokens=1 delims =\" %%A IN ('ECHO.%~1') DO SET WSS=%%A 
FOR /F "tokens = 1 delims =\" %%a IN ('NET VIEW ^| FIND /I "\\%WSS%"') DO FOR /F 
"tokens=1 delims=" %%A IN ('NBTSTAT -a %%a ^| FIND /I /V "%%a" ^| FIND "<03>"') 
DO ECHO.%%a %%A 
ENDLOCAL 
GOTO:EOF 
ECHO Display logged on users and their workstations. 
ECHO Usage: ACTUSR [ filter ] 
IF "%OS%"=="Windows_NT" ECHO Where: filter is the first part 
of the computer name^(s^) to be displayed

Rem注释

在批处理脚本中有两种创建注释的方法:一种是通过Rem命令, Rem语句之后的任何文本都将被视为注释,并且将不会执行,以下是此语句的一般语法。

Rem Remarks

"Remarks"是需要添加的备注。

以下示例显示了使用 Rem 命令的简单方法。

@echo off 
Rem This program just displays Hello Learnfk 
set message=Hello Learnfk 
echo %message%

上面的命令产生以下输出。您会注意到,不会执行带有Rem语句的行。

Hello Learnfk

::注释

在批处理脚本中创建注释的另一种方法是通过::命令, ::语句之后的任何文本都将被视为注释,并且将不会执行,以下是此语句的一般语法。

:: Remarks

"Remarks"是需要添加的评论。

以下示例显示了使用Rem命令的简单方法。

@echo off 
:: This program just displays Hello Learnfk 
set message = Hello Learnfk 
echo %message%

上面的命令产生以下输出。您会注意到带有::语句的行将不会执行。

Hello Learnfk

注意-如果Rem的行太多,这可能会降低代码的速度,因为最后,批处理文件中的每一行代码仍需要执行。

让无涯教程看一下在本主题开始时看到的大型脚本的示例,并查看在向其添加文档时的外观。

::===============================================================
:: The below example is used to find computer and logged on users
::
::===============================================================
ECHO OFF 
:: Windows version check 
IF NOT "%OS%"=="Windows_NT" GOTO Syntax 
ECHO.%* | FIND "?" >NUL 
:: Command line parameter check 
IF NOT ERRORLEVEL 1 GOTO Syntax
IF NOT [%2]==[] GOTO Syntax :: Keep variable local 
SETLOCAL 
:: Initialize variable 
SET WSS= 
:: Parse command line parameter 
IF NOT [%1]==[] FOR /F "tokens=1 delims =\" %%A IN ('ECHO.%~1') DO SET WSS=%%A 
:: Use NET VIEW and NBTSTAT to find computers and logged on users 
FOR /F "tokens = 1 delims =\" %%a IN ('NET VIEW ^| FIND /I "\\%WSS%"') DO FOR /F 
"tokens=1 delims=" %%A IN ('NBTSTAT -a %%a ^| FIND /I /V "%%a" ^| FIND 
"<03>"') DO ECHO.%%a %%A 
:: Done 
ENDLOCAL
GOTO:EOF 
:Syntax ECHO Display logged on users and their workstations. 
ECHO Usage: ACTUSR [ filter ] 
IF "%OS%"=="Windows_NT" ECHO Where: filter is the first part of the 
computer name^(s^) to be displayed

现在您可以看到,对于尚未开发代码的用户而言,代码变得更加易于理解,因此更加易于维护。

这一章《批处理 - 脚本注释》你学到了什么?在下面做个笔记吧!做站不易,你的分享是对我们最大的支持,感谢!😊

好记忆不如烂笔头。留下你的足迹吧 :)

相关文章

从0开始学大数据 -〔李智慧 - 〕

etcd实战课 -〔唐聪 - 〕

Spring编程常见错误50例 -〔傅健 - 〕

全链路压测实战30讲 -〔高楼 - 〕

TextField 重复输入 SwiftUI

如何将一组对象分组到新数组中?

使用什么 IP 来执行 UDP 广播?

将所有包含'的变量变为'?和其他想要的符号?

在列表的每个表中添加一个新列,并用表的名称填充它

INSERT 和 UPDATE 语句无效,即使使用 autocommit=True

视频推荐〔批处理 - d07_02for语句参数_f〕

更多 Batch-script-comments 视频教程 »