@
ECHO
OFF
SET
"BEGIN_MARKER=:ENDFILE1"
SET
"END_MARKER=:ENDFILE2"
FOR /F
"usebackq tokens=1 delims=:"
%%a IN (`FINDSTR /N /B /C:
"%BEGIN_MARKER%"
"%~0"
`) DO
SET
"SKIP_LINE=%%a"
CALL :WORK
"%SKIP_LINE%"
"%END_MARKER%"
"%~0"
GOTO :EOF
:WORK
FOR /F
"usebackq skip=%~1 tokens=1 eol=; delims="
%%a IN (`
TYPE
"%~3"
`) DO IF NOT
"%%a"
==
"%~2"
(CALL :PROCEDURE
"%%a"
) ELSE (GOTO :EOF)
GOTO :EOF
:PROCEDURE
(ping
-n
1 %~1|FIND /I
"TTL="
)&&(
ECHO
Комп
"\\%~1"
Включен - выключаю...
shutdown
-f
/s /m \\%~1
-t
1
)||
ECHO
Комп
"\\%~1"
выключен
GOTO :EOF
:ENDFILE1
PC1
PC2
PC3
:ENDFILE2
Комментарии