Windows 批处理以检查终端是否可以ping服务器

Windows 批处理以检查终端是否可以ping服务器,windows,batch-file,scripting,Windows,Batch File,Scripting,我写了一批,但根本不起作用: set THEFILE=ip_list.txt if exist result.txt del result.txt ::read %THEFILE% and loop through each line for /F %%A in (%THEFILE%) do ( SETLOCAL ENABLEDELAYEDEXPANSION SET counter=1 FOR /F "tokens=* USEBACKQ" %%F IN (`pin

我写了一批,但根本不起作用:

set THEFILE=ip_list.txt

if exist result.txt del result.txt

::read %THEFILE% and loop through each line
for /F %%A in (%THEFILE%) do (


    SETLOCAL ENABLEDELAYEDEXPANSION
    SET counter=1
    FOR /F "tokens=* USEBACKQ" %%F IN (`ping %%A`) DO (
      SET result%counter%=%%F
      SET counter=%counter%+1
    )
    ECHO %result1%
    ECHO %result2%
    ECHO %result3%
    echo %result9% >> result.txt
    ENDLOCAL

    echo ******************************************* >> result.txt
)
ip_list.txt的内部:

8.8.8.8
4.4.4.4
如果没有发生%100丢失,我需要获取ip地址

我需要代码方面的快速帮助。

以下是我的方法:

@echo off
setlocal

set THEFILE=ip_list.txt
if exist result.txt del result.txt
for /F %%A in (%THEFILE%) do (
  call :IsPingable %%A && (
    Echo %%A is pingable ) || (Echo %%A is not pingable)
)

exit /b

:IsPingable <comp>
ping -n 1 -w 3000 -4 -l 8 "%~1" | Find "TTL=">nul  
exit /b
@echo关闭
setlocal
set THEFILE=ip_list.txt
如果存在result.txt del result.txt
对于(%F文件%)中的/F%%A,请执行以下操作(
呼叫:IsPingable%%A&&(
Echo%%A可ping)| |(Echo%%A不可ping)
)
退出/b
:IsPingable
ping-n1-w3000-4-l8“%~1”| Find“TTL=“>nul
退出/b

嗯,我看到的第一件事是你需要使用!柜台延迟扩张。