Ping a cada endereço IP em um arquivo de texto?

8

Digamos que eu tenha aqui um arquivo de texto com alguns nomes de computador (cada linha == 1 nome):

computerA
computerB
computerC
...

É possível criar um arquivo em lotes que esteja pingando todos esses computadores? E, na verdade, um ping é uma saída grande. Eu não preciso de time ou outras informações; Eu só gostaria de saber acessível ou não. Alguma idéia?

Está funcionando agora! O problema era como fox disse, que eu nomeei meu arquivo de lote como ping.bat e ping também é um comando, então isso não deu certo. Eu renomeiei meu arquivo de lote e agora está tudo bem.

    
por sabisabi 29.04.2013 / 12:51

3 respostas

10

Tente isto:

@echo off
for /f "delims=" %%a in (computerlist.txt) do ping -n 1 %%a >nul && (echo %%a ok) || (echo %%a failed to respond) 
pause

Se você tiver que usar um nome de arquivo ou caminho com espaços ou caracteres ímpares, em vez de (computerlist.txt) use ( ' type "c:\folder\computer file.txt" ' )

    
por 29.04.2013 / 12:54
4
@Echo OFF

For /F "Usebackq Delims=" %%# in (
    "List.txt"
) do (
    Echo+
    Echo [+] Pinging: %%#

    Ping -n 1 "%%#" 1>nul && (
        Echo     [OK]) || (
        Echo     [FAILED])
)

Pause&Exit

Saída:

[+] Pinging: www.google.com
    [OK]

[+] Pinging: ffff
    [FAILED]
    
por 29.04.2013 / 13:05
1

Eu criei uma ferramenta de ping que usa um arquivo de configuração para definir quais ip's para ping e cria janelas de até 12 cmd e as coloca lado a lado na tela. Cada janela tem uma descrição no título, também no arquivo de configuração.

Ele auto-detecta o tamanho da sua tela, mas atualmente suporta apenas 1920x1080 e 1600x900. Você pode criar mais resoluções manualmente embora. Veja o arquivo credits.txt para informações.

HellFires Pingtest v1.0

    
por 20.04.2016 / 12:27