Ir ao conteúdo
  • Cadastre-se

Bat Salvar diversos registros de comando ping usando .bat


Posts recomendados

Boa tarde pessoal, 

 

Estou tentando armazenar varios comandos pings de diferentes ips usando uma .bat.  

Criei um código assim: 

< start ping ip1 -t >> C:\Users\marcos.v.dornelas\eqp1.txt 

 start ping ip2 -t >> C:\Users\marcos.v.dornelas\eqp2.txt

 start ping ip3 -t >> C:\Users\marcos.v.dornelas\eqp3.txt

 start ping ip4 -t >> C:\Users\marcos.v.dornelas\eqp4.txt

 start ping ip5 -t >> C:\Users\marcos.v.dornelas\eqp5.txt >

 

Entretanto ao executar a .bat as janelas são abertas com o comando ping execuntando e os arquivos .txt's ficam todos em branco. 

Se eu remover o start do codigo, apenas o primeiro arquivo é criado da forma correta. 

 

Alguém tem alguma sugestão de como solucionar esse problema. 

Desde já agradeço. 

 

Link para o comentário
Compartilhar em outros sites

@Marcos Dornelas não entendi o motivo do start

 

montei um assim e funciona de boas:

 

ping 192.168.100.1 > C:\Users\Silva\Desktop\pingresults.txt
ping 8.8.8.8 > C:\Users\Silva\Desktop\pingresults2.txt
ping 8.8.4.4 > C:\Users\Silva\Desktop\pingresults3.txt

 

image.png.0659e28851394b6dd6a5feab689a55b2.png

 

obs: estou w11 x64 22h2.

Link para o comentário
Compartilhar em outros sites

@Marcos Dornelas remove o -t e start (deixando igual ao meu) e veja se funciona

 

--edit

o parametro -t trava o console durante o ping, pois o console irá exibir os pings ininterruptamente e o sistema só irá gravar apos comando de ping for finalizado.

 

se você quer analisar a establidade da conexão através do ping durante um determinado tempos, use então (por exemplo) -n 10 (10 = 10 numero de requisições)

 

por exemplo:

ping 192.168.100.1 -n 5 >> C:\Users\Silva\Desktop\pingresults.txt
ping 8.8.8.8 -n 7 >> C:\Users\Silva\Desktop\pingresults2.txt
ping 8.8.4.4 -n 8 >> C:\Users\Silva\Desktop\pingresults3.txt

 

se você precisar sempre fazer o ping e salvar dentro do arquivo txt, você pode fazer um laço de repitação com while = true e bota o comando de ping lá dentro

 

https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/ping

Link para o comentário
Compartilhar em outros sites

@Marcos Dornelas bom estava editando a minha resposta anterior, mas aproveitando que voce respondeu, colocarei as informações como um nova resposta

 

o parametro -t trava o console durante o ping, pois o console irá exibir os pings ininterruptamente e o sistema só irá gravar apos comando de ping for finalizado.

 

se você quer analisar a establidade da conexão através do ping durante um determinado tempos, use então (por exemplo) -n 10 (10 = 10 numero de requisições) (por padrão são 4 requisições)

 

por exemplo:

ping 192.168.100.1 -n 5 >> C:\Users\Silva\Desktop\pingresults.txt
ping 8.8.8.8 -n 7 >> C:\Users\Silva\Desktop\pingresults2.txt
ping 8.8.4.4 -n 8 >> C:\Users\Silva\Desktop\pingresults3.txt

 

se você precisar sempre fazer o ping e salvar dentro do arquivo txt, você pode fazer um laço de repitação com while = true e bota o comando de ping lá dentro

 

https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/ping

Link para o comentário
Compartilhar em outros sites

@extremedll Muito obrigado. Já consigo analisar melhor o que pode ser. Mas fiquei com uma dúvida. 

Quando abrimos (manualmente) por exemplo três janelas do prompt de comando para verificar o ping de três ips diferentes, o mesmo é executado simultaneamente.

Fiz a alteração conforme seu exemplo e funcionou, entretanto os ips não foram testas simultaneamente e sim seguindo a sequência da bat. Não é possível realizar essa analise e registro simultaneamente?

Mas de toda forma, muito obrigado!

Link para o comentário
Compartilhar em outros sites

@Marcos Dornelas quando você abre o ping individualmente, o sistema operacional criar 3 processos do cmd e cada processo trabalha de forma independente do outro. quando você abre um bat com diversos comandos, o bat vai trabalhar apenas com 1 processo e vai encadear os comandos ali presentes e executar por um por um sempre aguardando o anterior terminar o processo dele. resumindo, um bat com vários comandos ele vai agir dessa maneira:

ler o comando 1, interpretar, executar
ler o comando 2, interpretar, executar
ler o comando 3, interpretar, executar

 

no seu caso, se você quer executar todos os pings de forma simultânea, você pode tentar fazer o seguinte:

maquina1 você cria maquina1.bat com o comando de ping só pra maquina1
maquina2 você cria maquina2.bat com o comando de ping só pra maquina2
maquina3 você cria maquina3.bat com o comando de ping só pra maquina3

 

feito isso, você vai criar um .bat geral, tipo geral.bat (criatividade 10/10 kkkk) e dentro dele chamar todos os bats da maquinas que voce quer pingar. por exemplo:

C:\diretorio_do_bat_maquina1\maquina1.bat
C:\diretorio_do_bat_maquina2\maquina2.bat
C:\diretorio_do_bat_maquina3\maquina3.bat

e executa o geral.bat

 

ainda assim, o geral.bat vai executar um comando de cada vez, mas como ele (geral.bat) só vai abrir um outro .bat e não executar o comando .bat que está sendo chamado, o processo é mais rápido, dando a impressão que todos os .bats estão sendo executado de forma "simultânea". e sim, esse método é o famoso "ajuste técnico" 😂

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!