Ниже приведена команда пакетного файла, которую я сейчас использую для выключения удаленных компьютеров через сеть LAN.
Вот что он делает.
- Я указал IP-адрес удаленного компьютера в текстовом файле с именем list.txt
- Я добавил IP как 0.0.0.0 внизу всех IP-адресов удаленных компьютеров.
- Приведенный ниже пакетный файл проверит, доступны ли компьютеры по локальной сети.
- Если компьютер доступен, он выключит удаленный компьютер, иначе он перейдет к следующему IP.
- Когда пакетный файл, наконец, прочитает 0.0.0.0, он автоматически выключит главный компьютер.
Моя проблема в том, что я не могу запустить этот пакет для более чем 7 удаленных компьютеров. Если я добавлю более 7 IP-адресов удаленных ПК в list.txt, пакетный файл зависнет, и действие не будет завершено. Пожалуйста, дайте мне знать, если я сделал какую-либо ошибку в коде или как я могу исправить эту проблему.
Я хочу запустить этот пакетный файл для минимум 12 удаленных ПК
@echo off
setlocal enableextensions enabledelayedexpansion
for /f %%a in (C:\Users\calcopm\Desktop\list.txt) do (
SET IP =%%a
SET C=0
IF %%a equ 0.0.0.0 (
shutdown /s
) ELSE (
ping -n 1 %%a | find "TTL=" >NUL: && SET C=1
IF !C! equ 1 (
psshutdown \\%%a
) else (
ECHO REMOTE %%a IS NOT REACHABLE
)
)
)