Tập lệnh hàng loạt - Nhận xét

Luôn luôn là một phương pháp hay để thêm nhận xét hoặc tài liệu cho các tập lệnh được tạo. Điều này là cần thiết để bảo trì các tập lệnh để hiểu những gì tập lệnh thực sự làm.

Ví dụ: hãy xem xét đoạn mã sau đây không có hình thức nhận xét. Nếu bất kỳ người bình thường nào chưa phát triển kịch bản sau cố gắng hiểu kịch bản, thì người đó sẽ mất rất nhiều thời gian để hiểu kịch bản thực sự làm gì.

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

Nhận xét sử dụng câu lệnh Rem

Có hai cách để tạo nhận xét trong Batch Script; một là thông qua lệnh Rem. Bất kỳ văn bản nào theo sau câu lệnh Rem sẽ được coi là bình luận và sẽ không được thực thi. Sau đây là cú pháp chung của câu lệnh này.

Cú pháp

Rem Remarks

trong đó 'Nhận xét' là nhận xét cần được thêm vào.

Ví dụ sau đây cho thấy một cách đơn giản Rem lệnh có thể được sử dụng.

Thí dụ

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

Đầu ra

Lệnh trên tạo ra kết quả sau. Bạn sẽ nhận thấy rằng dòng có câu lệnh Rem sẽ không được thực hiện.

Hello World

Nhận xét bằng cách sử dụng :: Tuyên bố

Một cách khác để tạo nhận xét trong Batch Script là thông qua lệnh ::. Bất kỳ văn bản nào theo sau câu lệnh :: sẽ được coi là bình luận và sẽ không được thực thi. Sau đây là cú pháp chung của câu lệnh này.

Cú pháp

:: Remarks

trong đó 'Nhận xét' là nhận xét cần được thêm vào.

Ví dụ sau đây cho thấy cách sử dụng của lệnh "::".

Thí dụ

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

Đầu ra

Lệnh trên tạo ra kết quả sau. Bạn sẽ nhận thấy rằng dòng có câu lệnh :: sẽ không được thực thi.

Hello World

Note - Nếu bạn có quá nhiều dòng Rem, nó có thể làm chậm mã, vì cuối cùng mỗi dòng mã trong tệp lô vẫn cần được thực thi.

Hãy xem ví dụ về script lớn mà chúng ta đã thấy ở đầu chủ đề này và xem nó trông như thế nào khi tài liệu được thêm vào đó.

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

Bây giờ bạn có thể thấy rằng mã đã trở nên dễ hiểu hơn đối với những người dùng chưa phát triển mã và do đó dễ bảo trì hơn.