【问题标题】:batch to check if terminal can ping servers or not批处理检查终端是否可以ping服务器
【发布时间】:2014-03-27 13:04:35
【问题描述】:

我写了一个批处理,但它根本不起作用:

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 地址..

我的代码需要快速帮助..

【问题讨论】:

  • 好吧,我看到的第一件事就是你需要使用 !counter!延迟扩展。

标签: windows batch-file scripting


【解决方案1】:

我会这样做:

@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

【讨论】:

    猜你喜欢
    • 2014-07-06
    • 1970-01-01
    • 1970-01-01
    • 2011-01-10
    • 1970-01-01
    • 2018-06-14
    • 2020-01-02
    • 1970-01-01
    • 2017-03-25
    相关资源
    最近更新 更多