Вот что я борюсь с:
Title Scanning online computers: && set /a title_count=0
call :next
:next
FOR /F "tokens=1" %%a IN (workstation.txt) do (
title Scanning for online computers: %title_count% / %workstation%
ping -n 1 %%a | find "bytes=" >nul
set /a title_count=title_count+=1
if NOT ERRORLEVEL 1 (
set color=%%a && call includes\what.bat %color_pass% && echo %%a >> logs\reachable.txt
) else (
set color=%%a && call includes\what.bat %color_fail% && echo %%a >> logs\unreachable.txt && echo %%a, offline, % date%, %time% >> logs\offline.txt
)
)
Проблема, с которой я столкнулся, заключается в том, что функция TITLE не обновляется, пока переменная% count_title% выполняет обратный отсчет в скрипте.
set /a title_count+=1
тоже не работает
Отображается как:
Scanning for online computers 0 / 5
Может кто-нибудь сказать мне, что я здесь делаю не так?
Заранее спасибо.
Illusion
Привет
Я пробовал это так, как предлагалось:
Он завершает оставшуюся часть сценария при использовании последнего GOTO: EOF
Это не имеет смысла для меня, если я удаляю последний GOTO: eof, только первая строка в workstation.txt обрабатывается / анализируется.
Scanning online computers: && set /a title_count+=1`
call :next
::added as possibly missing
GOTO :EOF
:next
FOR /F "tokens=1" %%a IN (workstation.txt) DO CALL :pingstation %%a
GOTO :EOF
:pingstation
title Scanning for online computers: %title_count% / %workstation%
ping -n 1 %1 | find "bytes=" >nul
set /a title_count+=1
if NOT ERRORLEVEL 1 (
set color=%1 && call includes\what.bat %color_pass% && echo %1 >> logs\reachable.txt
) else (
set color=%1 && call includes\what.bat %color_fail% && echo %1 >> logs\unreachable.txt && echo %1, offline, %date%, %time% >> logs\offline.txt
)
goto :eof
)