Пакет просто падает после слишком большого количества попыток пинга - PullRequest
1 голос
/ 18 марта 2020

Я пытаюсь выяснить из списка похожих адресов, могу ли я пинговать некоторые из них. Но после приблизительно 304 попыток / неудачных попыток проверки подлинности происходит сбой сценария.

@echo off

echo Start
set /A PORT=0
call:start
echo Finished
pause

:start
set /A PORT=%PORT%+1
set ADRESS=http://Adress.servehttp.com:%PORT%
ping /n 1 %ADRESS%
if %ERRORLEVEL% EQU 0 (echo %ADRESS% >> results.log)
if %PORT% LEQ 65535 (call:start) ELSE pause

1 Ответ

1 голос
/ 18 марта 2020

Ваша start функция рекурсивная, и вы достигли предела стека, разрешенного для пакетного сценария, который обычно очень низок.

Эту проблему можно решить, используя вместо нее al oop.

...