Batch-Skript - Kommentare

Es wird immer empfohlen, Kommentare oder Dokumentationen zu den erstellten Skripten hinzuzufügen. Dies ist für die Wartung der Skripte erforderlich, um zu verstehen, was das Skript tatsächlich tut.

Betrachten Sie beispielsweise den folgenden Code, der keine Form von Kommentaren enthält. Wenn eine durchschnittliche Person, die das folgende Skript nicht entwickelt hat, versucht, das Skript zu verstehen, würde es viel Zeit dauern, bis diese Person versteht, was das Skript tatsächlich tut.

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

Kommentare mit der Rem-Anweisung

Es gibt zwei Möglichkeiten, Kommentare im Stapelskript zu erstellen. eine ist über den Rem-Befehl. Text, der auf die Rem-Anweisung folgt, wird als Kommentar behandelt und nicht ausgeführt. Es folgt die allgemeine Syntax dieser Anweisung.

Syntax

Rem Remarks

Dabei ist 'Bemerkungen' die Kommentare, die hinzugefügt werden müssen.

Das folgende Beispiel zeigt auf einfache Weise die Rem Befehl kann verwendet werden.

Beispiel

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

Ausgabe

Der obige Befehl erzeugt die folgende Ausgabe. Sie werden feststellen, dass die Zeile mit der Rem-Anweisung nicht ausgeführt wird.

Hello World

Kommentare Verwenden der :: -Anweisung

Die andere Möglichkeit, Kommentare im Batch-Skript zu erstellen, ist der Befehl ::. Text, der auf die :: -Anweisung folgt, wird als Kommentar behandelt und nicht ausgeführt. Es folgt die allgemeine Syntax dieser Anweisung.

Syntax

:: Remarks

Dabei ist 'Bemerkungen' der Kommentar, der hinzugefügt werden muss.

Das folgende Beispiel zeigt die Verwendung des Befehls "::".

Beispiel

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

Ausgabe

Der obige Befehl erzeugt die folgende Ausgabe. Sie werden feststellen, dass die Zeile mit der :: -Anweisung nicht ausgeführt wird.

Hello World

Note - Wenn Sie zu viele Rem-Zeilen haben, kann dies den Code verlangsamen, da am Ende jede Codezeile in der Batch-Datei noch ausgeführt werden muss.

Schauen wir uns das Beispiel des großen Skripts an, das wir am Anfang dieses Themas gesehen haben, und sehen wir, wie es aussieht, wenn Dokumentation hinzugefügt wird.

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

Sie können jetzt sehen, dass der Code für Benutzer, die den Code nicht entwickelt haben, verständlicher geworden ist und daher besser gewartet werden kann.