none
Script que lê arquivo e executa uma função RRS feed

  • Pergunta

  • Bom pessoal eis o que pleiteio fazer:

    Quero gerar um bat para:

    1:gerar um view da rede ativa no momento - Sei que com o comando net view>>um_nome_qualquer.txt posso escrever estes dados.

    2. Utilizando estes dados quero que o bat leia os mesmos e execute um ping em cada endereço encontrado

    3. Escrever o resultado do ping em outro arquivo.txt

    Eu imagino que preciso usar o comando for, mas confesso que não estou conseguindo associar a lógica disto!

    Agradeço.

    segunda-feira, 15 de setembro de 2014 18:09

Respostas

  • Fábio de Paula Junior para o seu código ficar perfeito faltou pouco.

    Eu fiz as seguintes alterações e deu certo.

    FOR /F "tokens=1 delims=\ skip=4" %%A IN ('net view') DO ping %%A -n 1 >>Resultado.txt

    Explicando...

    Como o comando For vai ler um arquivo a variável precisa ser nomeada com 2 sinais de porcentagem e não apenas um. 

    E para escrever dei um espaço, antes defini quantas vezes eu queria que a mesma fosse pingada e o resultado, bom... bastou escrever o caractere >> 

    Usei o comando skip pois estou em uma rede corporativa, e antes dos endereços ips aparecem espaços e descrições do servidor,  com este comando eu pulei este número de linhas.

    Ficou perfeito. 

    Obrigado pela sua dica, eu dei uma olhada melhor no help do cmd e com o seu exemplo eu juntei as peças.

    Muito obrigado mesmo.

    • Marcado como Resposta Ivan Marra terça-feira, 16 de setembro de 2014 20:55
    terça-feira, 16 de setembro de 2014 20:54

Todas as Respostas

  • Ivan,

    Veja este FOR

    FOR /F "tokens=1 delims=\" %A IN ('net view') DO ping %A

    Ele vai ler cada resultado encontrado no net view.

    Aí só está faltando escrever o resultado do PING, existem várias formas de fazer isso

    https://www.google.com.br/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#safe=off&q=bat%20ping%20result


    Fábio de Paula Junior

    segunda-feira, 15 de setembro de 2014 18:22
    Moderador
  • Obrigado Fábio por tentar me ajudar.

    Bom quanto ao script, não está funcionando. Quanto aos links que vc me sugeriu, foi muito úitl, estou pesquisando para poder conseguir.

    Valeu pela força.

    terça-feira, 16 de setembro de 2014 19:20
  • Fábio de Paula Junior para o seu código ficar perfeito faltou pouco.

    Eu fiz as seguintes alterações e deu certo.

    FOR /F "tokens=1 delims=\ skip=4" %%A IN ('net view') DO ping %%A -n 1 >>Resultado.txt

    Explicando...

    Como o comando For vai ler um arquivo a variável precisa ser nomeada com 2 sinais de porcentagem e não apenas um. 

    E para escrever dei um espaço, antes defini quantas vezes eu queria que a mesma fosse pingada e o resultado, bom... bastou escrever o caractere >> 

    Usei o comando skip pois estou em uma rede corporativa, e antes dos endereços ips aparecem espaços e descrições do servidor,  com este comando eu pulei este número de linhas.

    Ficou perfeito. 

    Obrigado pela sua dica, eu dei uma olhada melhor no help do cmd e com o seu exemplo eu juntei as peças.

    Muito obrigado mesmo.

    • Marcado como Resposta Ivan Marra terça-feira, 16 de setembro de 2014 20:55
    terça-feira, 16 de setembro de 2014 20:54
  • Ivan,

    A linha de código que passei está preparada para ser executada dentro do prompt de comando, se você colocar ela dentro do .BAT você então precisa usar duplo %, onde tiver %A coloque %%A.

    Qualquer coisa poste o seu script.


    Fábio de Paula Junior

    terça-feira, 16 de setembro de 2014 20:54
    Moderador
  • Fábio de Paula Junior, Muito obrigado mais uma vez. 

    Quero poder contar com seu apoio nos próximos desafios. Valeu mesmo!

    quarta-feira, 17 de setembro de 2014 12:09
  • Ivan,

    Ajudo sempre que estiver ao meu alcance, estou aqui pra aprender também.


    Fábio de Paula Junior

    quarta-feira, 17 de setembro de 2014 13:44
    Moderador