鍍金池/ 教程/ Java/ 批處理注釋
批處理決策結(jié)構(gòu)
批處理數(shù)組
批處理網(wǎng)絡(luò)設(shè)置
批處理教程
批處理文件夾操作
批處理進(jìn)程
批處理腳本調(diào)試
批處理函數(shù)
批處理運(yùn)算符
批處理注釋
批處理腳本日志
批處理語法
批處理設(shè)備
批處理輸入輸出
批處理字符串
批處理簡介
批處理注冊表
批處理別名
批處理文件
批處理日期時(shí)間
批處理打印
批處理命令
批處理變量
批處理執(zhí)行環(huán)境

批處理注釋

為創(chuàng)建的腳本添加注釋或文檔總是一個(gè)好習(xí)慣。 這是一個(gè)維護(hù)腳本用來理解腳本實(shí)際所做的事情所必需的注釋。

例如,考慮下面這段沒有注釋形式的代碼。 如果一個(gè)沒有任何注釋的腳本,普通人試圖理解腳本,那么需要很多時(shí)間來理解腳本做些什么工作。

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語句注釋

有兩種方法可以在批處理腳本中創(chuàng)建注釋; 一個(gè)是通過Rem命令。 Rem語句后的任何文本都將被視為注釋,不會(huì)被執(zhí)行。 以下是此聲明的一般語法。

語法

Rem Remarks

其中“Remarks”是需要添加的注釋。

以下示例顯示了可以使用Rem命令的簡單方法。

示例

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

以上命令產(chǎn)生以下輸出。注意:Rem語句行不會(huì)被執(zhí)行。

Hello World

注釋使用::聲明

在批處理腳本中創(chuàng)建注釋的另一種方法是通過::命令。任何遵循::語句的文本都將被視為注釋,不會(huì)被執(zhí)行。 以下是此聲明的一般語法。

語法

:: Remarks

其中“Remarks”是需要添加的注釋。

以下示例顯示了可以使用Rem命令的簡單方法。

示例

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

以上命令產(chǎn)生以下輸出。 注意,具有::語句的行將不會(huì)被執(zhí)行。

Hello World

- 如果Rem的行數(shù)太多,可能會(huì)使代碼變慢,因?yàn)樽詈筮€是需要執(zhí)行批處理文件中的每行代碼。

讓我們來看一下在本主題開始時(shí)看到的大腳本的例子,看看它在添加注釋文檔時(shí)的樣子。

::===============================================================
:: 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

現(xiàn)在可以看到,對于沒有開發(fā)代碼的用戶來說,代碼變得更加易于理解,因此更易于維護(hù)。