Невозможно продолжить выполнение каких-либо задач в пакете с помощью CTRL + C или закрытия batch-file
. Это просто невозможно, сценарий уничтожен, что означает, что НИЧЕГО, что должно было произойти, теперь прервано в текущем процессе.
Однако существуют другие способы взлома, такие как перенаправление постоянных данных и выход из сценария любым из них. CTRL + C или выход, нажав крестик в верхнем правом углу X , последнее событие, зафиксированное в журнале, останется.
@echo off
setlocal enabledelayedexpansion
set sent=0 & set received=0 & set lost=0 & set loss=0
:start
for /f "tokens=4,7,10,11delims=,( " %%i in ('ping 192.168.1.1 -n 2 ^| findstr "Packets:"') do (
set _se=%%i
set _re=%%j
set _lst=%%k
set _lss=%%l
set _se=!_se:,=!
set _re=!_re:,=!
set _lst=!_lst:,=!
set _lss=!_lss:%%=!
set /a sent+=!_se!
set /a received+=!_re!
set /a lost+=!_lst!
set /a loss+=!_lss!
)
echo !time: =0! Packets: Sent = !sent!, Received = !received!, Lost = !lost! (!loss! %% loss)>pinglog.log
goto :start
Опять же, этовзломать, но в значительной степени один из немногих способов вы достигнете того, что вы хотите.