批量启动画面或者类似的东西

批量启动画面或者类似的东西

我编写了一个简单的批处理脚本(稍后将转换为 .exe 文件),用于在打开网页之前检查是否已到达服务器:

@echo off
ping -n 1 -w 1000 10.###.###.1 | find "TTL=" >nul
if errorlevel 1 (
    msg "%username%" You are not connected via VPN. You have to conect to VPN first!
    if %ERRORLEVEL% NEQ 0 (
        echo You are not connected via VPN. You have to conect to VPN first!
    )
) else (
    ping -n 1 -w 1000 some.server.name | find "TTL=" >nul
    if errorlevel 1 (

        ping -n 1 -w 1000 192.168.###.### | find "TTL=" >nul
        if errorlevel 1 (
            msg "%username%" Couldn't find requested Server. Please contact the administrator!
            if %ERRORLEVEL% NEQ 0 (
                echo Couldn't find requested Server. Please contact the administrator!
            )
        ) else (
            msg "%username%" Connected but using NO-DNS Fallback. Please inform the administrator!
             if %ERRORLEVEL% NEQ 0 (
                echo Connected but using NO-DNS Fallback. Please inform the administrator!
            )
            cmd /c start "" "http://192.168.###.###"
        )
    ) else (
        cmd /c start "" "http://some.server.name"
    )   
)

它运行完美并且达到了应有的效果。

无论如何,如果出现故障并且由于某种原因无法访问服务器,仍然需要一些时间(我预计是 2 秒,但实际上最多需要 9 秒)直到用户收到反馈消息...同时他不知道代码是否正在执行某件事。

我想知道是否有可能仅使用批处理在 ping 期间显示某种“启动画面”(消息/图像)直到连接或显示错误消息,让用户知道脚本正在运行?

我说只使用批处理,因为它只是一种“智能”URL 链接,所以我不想在这方面投入太多精力,例如使用 java 或类似的东西。

答案1

我没有找到“启动画面”的解决方案,所以我仍然对此感兴趣。

但是我找到了一种目前可行的解决方法,即使用-wping 选项并设置 1 秒的最大超时时间。用户等待多长时间是可以的。

但如果有人有解决方案,我仍然更喜欢“启动画面”方式。

相关内容