@ECHO OFF
@chcp 65001
@REM ########## 配置 ###########
@REM
@REM 从脚本名称中识别IP地址
for /f "tokens=* delims=" %%b in ('powershell -NoProfile -Command "([regex]::Matches('%~n0', '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'))[0].Value"') do (
    @SET IP_ADDRESS=%%b
)

if "%IP_ADDRESS%"=="" (
    echo 错误：无法从文件名中识别IP地址。
    echo 请将脚本文件改名为包含IP地址的格式，例如：【引导程序拖到这里】192.168.0.232触屏嵌入式执行引导程序.bat
    echo 或者简洁点的：192.168.0.232.bat，等类似格式。
    pause
    exit /b 1
)

@REM
@REM 引导程序路径（支持拖拽文件到脚本上）
if "%~1"=="" (
    set BOOTSTRAP_PATH=
) else (
    set BOOTSTRAP_PATH=%~1
)

if "%BOOTSTRAP_PATH%"=="" (
    echo 请将引导程序拖拽到此脚本上，引导程序通常是 bootstrap.bin 等文件。
    pause
    exit /b 1
)
@REM
@REM ########## 配置 ###########


@REM ########## 下面不是配置，请不要编辑 ###########

@REM echo 准备远程【%IP_ADDRESS%】执行引导程序【%BOOTSTRAP_PATH%】，3秒后开始……

@REM timeout /t 3 /nobreak > nul


echo.
echo ### 当前文件配置（文件可以右键编辑）：
echo ### 远程IP地址=%IP_ADDRESS%
echo ### 引导程序路径=%BOOTSTRAP_PATH%
echo.

echo.
echo ### 正在远程执行引导程序……
echo.

@REM 最直接的执行方式
@REM "%~dp0\TouchEmbeSshTool.exe" ^
@REM     --host "%IP_ADDRESS%" ^
@REM     --upload-and-run-bootstrap "%BOOTSTRAP_PATH%"

@REM 停止当前程序，执行bootstrap，再重启的执行方式
"%~dp0\TouchEmbeSshTool.exe" ^
    --host "%IP_ADDRESS%" ^
    --stop-app ^
    --upload-and-run-bootstrap "%BOOTSTRAP_PATH%" ^
    --reboot


echo.
echo ### 运行结束，请检查上面的远程执行结果，确保运行成功。
echo.

pause