Ir ao conteúdo
  • Cadastre-se

fariajp

Membro Pleno
  • Posts

    314
  • Cadastrado em

  • Última visita

Tudo que fariajp postou

  1. Não tá legal, não. Primeiro que um ponto no plano tem duas coordenadas (x e y). Se você está lendo dois pontos, tem que ler 4 valores, digamos x1, y1, x2, y2. A fórmula que você usou está errada. Está fazendo a raiz quadrada só do primeiro termo, além de multiplicações erradas. Esses 1 e 2 que você está multiplicando são na verdade qualificações de x e y, para diferenciar qual é do ponto 1 e 2 (como citei acima). Corrigindo para ler os 4 pontos, a fórmula ficaria: Sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1)); Ainda daria para você fazer a potenciação por função ao invés de forçar a multiplicação. Fica procê pesquisar JP
  2. Às ordens! Em tempo, esses ".Sleep 500" tem tudo para dar pau A não ser que você tenha MUITA certeza de que os 500ms são suficientes, pode dar pau a qualquer momento. JP
  3. Põe isso aqui depois da linha "@call killtelnet.bat" @echo WScript.Sleep 50000 >> telnet.vbs @cscript //nologo telnet.vbs @del /q telnet.vbs Ele vai criar o telnet.vbs novamente só com a instrução de pausa por 50 segundos, rodar esse script e apagá-lo. JP
  4. Cara, o killtelnet.bat chama isso aqui: "C:/"Arquivos de programas"/USD/afskillproc.exe telnet.exe exitafs C:/"Arquivos de programas"/USD/wait.exe" O primeiro deve matar não amigavelmente o telnet. O segundo faz ele dar uma pausa, de sabe deus quanto tempo... Tenta tirar esse wait dai e ver se ele não termina o bat normalmente. JP
  5. Vou comentar o que faz cada parte do "código": - cria e seta valores para as variáveis que serão usadas no restante do programa. Quem fez o .bat aí foi caprichoso, e fez isso só para facilitar a distribuição. Assim, você só altera os dados, sem precisar meter a mão no "código" em si. @rem ////// Edite as linhas abaixo com os seus dados @set ip=10.1.1.1 @set username=admin @set password=admin @set comando1=reboot - esse trecho cria um arquivo chamado "telnet.vbs" com instruções que serão "enviadas" para o telnet. Essas chamadas de sh.SendKeys simulam como se o usuário tivesse digitado o texto do parâmetro. O "~" é como se o usuário tivesse pressionado o ENTER. @rem ///// Não edite as linhas abaixo: @rem ///// Criação do script vbs @echo set sh=WScript.CreateObject("WScript.Shell")>>telnet.v bs @echo WScript.Sleep 500>>telnet.vbs @echo sh.SendKeys "%username%">>telnet.vbs @echo WScript.Sleep 500>>telnet.vbs @echo sh.SendKeys "~">>telnet.vbs @echo WScript.Sleep 500>>telnet.vbs @echo sh.SendKeys "%password%">>telnet.vbs @echo sh.SendKeys "~">>telnet.vbs @echo WScript.Sleep 500>>telnet.vbs @rem ///// Enviando comando @echo sh.SendKeys "%comando1%">>telnet.vbs @echo sh.SendKeys "~">>telnet.vbs REM -- Incluída a pausa de 50s no fim do script que resseta o modem @echo WScript.Sleep 50000>>telnet.vbs Uma vez criado o script acima, ele executa o telnet e chama o script que vai mandar as instruçoes para o telnet. Só que o script não finaliza o telnet amigavelmente. Então ele chama o killtelnet.bat para finalizá-lo. @rem ///// Iniciando a sessão de telnet @start /realtime telnet.exe %ip% @cscript //nologo telnet.vbs @del /q telnet.vbs @call killtelnet.bat Esses dois programas existem em seu computador (nesse caminho)? : "C:/"Arquivos de programas"/USD/afskillproc.exe C:/"Arquivos de programas"/USD/wait.exe" O primeiro deveria matar o processo "telnet.exe". Se não estiver funcionando, você pode tentar finalizar o telnet amigavelmente. No lugar onde pus a pausa, tenta por isso aqui. Vai mandar um "escape" para o telnet (Ctrl-]) e depois dar o comando para finalizar (quit). @echo sh.SendKeys "^]" >>telnet.vbs @echo WScript.Sleep 500>>telnet.vbs @echo sh.SendKeys "quit">>telnet.vbs @echo WScript.Sleep 500>>telnet.vbs @echo sh.SendKeys "~">>telnet.vbs @echo WScript.Sleep 500>>telnet.vbs Daí nem precisa por o Sleep de 50 segundos. Desconfio que você não tem esse afskillproc.exe no diretório "C:/"Arquivos de programas"/USD. (aliás, que sintaxe maluca... Windows com "/" ao invés de "\" e com as aspas tudo bagunçadas! Mas mesmo assim ele chamaria a aplicação, caso exista o tal executável nessa pasta. JP
  6. O script já resseta o modem? Só o que falta é fazer a pausa de 50s? O WScript é o host do script VBS. Sleep é o método que faz a thread "dormir". Ela aceita um parâmetro, que é o tempo em milissegundos. Então, põe uma chamada no .vbs de "WScript.Sleep 50000" antes do .vbs finalizar. Ficaria assim: @rem ////// Edite as linhas abaixo com os seus dados @set ip=10.1.1.1 @set username=admin @set password=admin @set comando1=reboot @rem ///// Não edite as linhas abaixo: @rem ///// Criação do script vbs @echo set sh=WScript.CreateObject("WScript.Shell")>>telnet.v bs @echo WScript.Sleep 500>>telnet.vbs @echo sh.SendKeys "%username%">>telnet.vbs @echo WScript.Sleep 500>>telnet.vbs @echo sh.SendKeys "~">>telnet.vbs @echo WScript.Sleep 500>>telnet.vbs @echo sh.SendKeys "%password%">>telnet.vbs @echo sh.SendKeys "~">>telnet.vbs @echo WScript.Sleep 500>>telnet.vbs @rem ///// Enviando comando @echo sh.SendKeys "%comando1%">>telnet.vbs @echo sh.SendKeys "~">>telnet.vbs REM -- Incluída a pausa de 50s no fim do script que resseta o modem @echo WScript.Sleep 50000>>telnet.vbs @rem ///// Iniciando a sessão de telnet @start /realtime telnet.exe %ip% @cscript //nologo telnet.vbs @del /q telnet.vbs @call killtelnet.bat Deve fazer o que você quer... JP

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