É um pouco incerto qual é exatamente o problema que você enfrenta, já que você não fornece nenhuma saída ou captura de tela do que não gosta, mas explicarei os dois problemas mais prováveis que vejo:
Dado que seu script é chamado ping.bat
e se parece com isso:
ping example.com
o intérprete ( cmd.exe
) pesquisa / investiga os caminhos na variável de ambiente %PATH%
para algo que se parece com ping
... e faz isso acrescentando cada sufixo de %PATHEXT%
que contém algo como %código%. Assim, chamar apenas .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
do ping
leva a uma pesquisa por ping.bat
ping.com
ping.exe
e assim por diante. O interpretador encontrará um ping.bat
no diretório de trabalho atual (seu ping.bat
) e o chamará.
Então, você terá uma recursão legal aqui: ping.cmd executa a primeira linha, pesquisa por " ping ", encontra" ping.cmd ", executa a primeira linha, procura por" ping ", encontra" ping.cmd ", executa a primeira linha, procura por" ping ", encontra" ping.cmd "...
O segundo problema que você pode ter é o seguinte:
O intérprete do arquivo de lote geralmente repetirá os comandos que você gravou no arquivo .bat / .cmd. Assim, algo como este ping.bat
será parecido com isto:
C:\Users\XYZ\Desktop>ping www.superuser.com
Ping wird ausgeführt für superuser.com [64.34.119.12] mit 32 Bytes Daten:
Antwort von 64.34.119.12: Bytes=32 Zeit=110ms TTL=46
Antwort von 64.34.119.12: Bytes=32 Zeit=107ms TTL=46
Se você quiser se livrar de ping www.superuser.com
na saída do script, será necessário preceder cada linha com um C:\Users\XYZ\Desktop>ping www.superuser.com
(por exemplo, '@ping www.superuser.com') no script ou coloque um @
antes do grupo de linhas de comando que você deseja executar "silenciosamente".
TL; DR; Não chame seus arquivos bat da mesma forma que os programas existentes.