Ir ao conteúdo

Posts recomendados

Postado

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. 

 

Postado

@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.

Postado

@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

Postado

@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

Postado

@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!

Postado

@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

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!