Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 批量制作服务器乒乓球工具_Loops_Batch File_For Loop - Fatal编程技术网

Loops 批量制作服务器乒乓球工具

Loops 批量制作服务器乒乓球工具,loops,batch-file,for-loop,Loops,Batch File,For Loop,我目前已经这样做了,但是for循环中出现了意外错误 请帮忙 @ECHO OFF COLOR 1F TITLE (Ash's Script) Server Ping Pong rem --------------------------------------------------------------------------------------------------------------- ECHO Started %time% %date% > X:\Scripts\Se

我目前已经这样做了,但是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 ---------------------------------------------------------------------------------------------------------------

如果ERRORLEVEL 0
始终为真

改用这个:

if not errorlevel 1
还可以将echo上的重定向更改为文件:

>>X:\Scripts\ServerPing.txt ECHO %%i ONLINE %time%
这消除了最后一个字符是(流的)数字时的问题


另一个问题是循环开始时会计算
%time%
,以便在日志中获取动态时间,然后启用延迟扩展并使用
!时间而不是
%time%

最后的回音正确吗?您正在用小写字母指定
脚本
目录,但在所有其他情况下都是uppercase@omgmogWindows不区分大小写您会遇到什么类型的意外错误?如果ERRORLEVEL 0始终为真,那么这是一个错误还是一个意外的结果?
。如果ERRORLEVEL为
或更高,则这是真的。(这对foxidrive来说是显而易见的,但对其他人来说可能不是这样)只是为了澄清jeb的评论:如果返回的errorlevel为50,那么从0到49(和50)的每个errorlevel也将测试为true。