O arquivo em lote do Windows executa alguns comandos que retornam a saída repetidamente

2

Eu tentei colocar comandos que retornam a saída para o arquivo em lote. Quando executo o arquivo em lote, ele executa o comando várias vezes até que eu cancele com CTRL + C.

Eu observei esse comportamento no Windows CE, no Windows XP, no Windows 7 e no Server 2003. Primeiro, achei que cometi um erro com o LDIFDE, mas a mesma coisa vale para o PING.

Existe algo que eu perdi com scripts em lote?

O arquivo contém uma linha:

ping google.com

    
por Dean 02.09.2011 / 16:47

1 resposta

12

I. Pense que você nomeou seu script ping.bat ou ping.cmd e está chamando a si mesmo.

Isso acontece devido a uma decisão de design que foi introduzida no DOS 2.0. Em clones e derivativos do MS-DOS, Windows e MS-DOS, o diretório atual é o primeiro no caminho de pesquisa. Quando o DOS está procurando um comando, ele primeiro verifica se ele é um comando interno, embutido no command.com (por exemplo, echo, copy), em seguida, ele pesquisa o sistema de arquivos. Ele sempre começa com o diretório atual e, em seguida, ele procura em diretórios definidos na variável PATH.

Você tem algumas opções:

  • Renomeie o script.
  • Basta incluir a extensão do arquivo no seu script para que seja ping.exe google.com
  • Use o caminho completo para efetuar o ping de %SystemRoot%\system32\ping.exe
por 02.09.2011 / 17:49