批量制作服务器乒乓工具

时间:2013-10-07 08:47:39

标签: loops batch-file for-loop

我目前已经做到了,但for循环中出现意外错误。

请帮忙。

@ECHO OFF
COLOR 1F
TITLE (Ash's Script) Server Ping Pong

rem ---------------------------------------------------------------------------------------------------------------

ECHO Started %time% %date% > X:\Scripts\ServerPing.txt

rem ---------------------------------------------------------------------------------------------------------------

FOR /f "tokens=*" %%i in (X:\Scripts\ComputerLists\ServerList.csv) DO (
    PING %%i -n 1 -w 3
    IF ERRORLEVEL 0 (
        ECHO %%i ONLINE %time%>> X:\Scripts\ServerPing.txt 
    ) ELSE ( 
        ECHO %%i OFFLINE %time%>> X:\scripts\ServerPing.txt
    )
)

rem ---------------------------------------------------------------------------------------------------------------

1 个答案:

答案 0 :(得分:1)

IF ERRORLEVEL 0永远是真的。

请改用:

if not errorlevel 1

同时将echo上的重定向更改为文件:

>>X:\Scripts\ServerPing.txt ECHO %%i ONLINE %time%

当最后一个字符是(流的)数字

时,这消除了问题

另一个问题是,在循环开始时评估%time% - 在日志中获取动态时间然后启用延迟扩展并使用!time!代替%time%