Выключение компьютеров в домене по списку

Монолитный скрипт выключения компьютеров в домене по списку:
@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