USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Dicas

  Visual Basic    (ActiveX/Controles/DLL)

Título da Dica:  Criação de .bat e utilizar com shell
Postada em 29/2/2004 por :: Renato ::         
Acredito que você já deve ter tido a necessidade de trabalhar com shell e ficou pensando como fazer para aguardar um comando ser executado no MSDOS. Bom, abaixo estou postando um código que aguarda a destruição de um arquivo .txt (podia ser qualquer outro) enquanto é executado um arquivo .bat que conterá os comandos. O código está explicado... neste exemplo vai acontecer um pnig num IP que está armazenado na variavel strIP:

Dim strComando As String
Dim strLote As String
Dim strCaminhobloq As String
Dim strKbloq As String
Dim strIP As String
strIP = "200.100.0.99"                        ' Coloque um IP qualquer aqui
On Error GoTo erro_kill_txt
strComando = "ping " + strIP               ' Linha 1 do arquivo de lote que executa o .bat
strLote = "ping.bat"                         ' Nome e caminho para o arquivo de lote
strCaminhobloq = "bloqueio.txt"                  ' Caminho para criação de um arquivo que bloqueia o processo enquanto o shell é executado
strKbloq = "del bloqueio.txt"                    ' Comando de exclusão

Open strLote For Output As #1                   ' |
Close #1                                        ' |
Open strLote For Append As #1                   ' |
    Print #1, "@echo off"                       ' |
    Print #1, ":inicio"                         ' | -> Criação do arquivo de lote que realiza o ping
    Print #1, "if not exist bloqueio.txt goto inicio"
    Print #1, strComando                        ' |
    Print #1, strKbloq                          ' |
    Print #1, "exit"
Close #1

'comando para executar programas em DOS

h = Shell(Environ("COMSPEC") & " /C ping.bat", vbHide)                  ' Executando o ping

Open strCaminhobloq For Output As #1           ' Criação do arquivo de bloqueia e desbloqueia o "converte"
    Print #1, "..."
Close #1

Do While LCase(Dir(strCaminhobloq)) = "bloqueio.txt" ' Loop que aguarda a destruição de "bloqueio.txt" pelo converte.bat parra posseguir
Loop

Kill strLote                                    ' Destruindo arquivo de lote

Exit Sub
erro_kill_txt:
    Resume Next

Renato
 


CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página