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.