none
Capturar saida do prompt de comando

    Question

  • Pessoa tenho um script que ele captura a saida do prompt de comando tudo certinho, porem quando acontece um erro, tipo "Acesso negado" ele não registra...

    No c: da maquina do usuario eu tenho uma batch que faz a copia dos dados do usuario para o servidor, e é salvo na pasta do usuario um arquivo chamado log.txt ...

    no log sai todos os arquivos copiados menos os erros...

    Alguem pode ajudar?

    Dim objShell'holds WshShell object
    Dim objExecObject'holds what comes back from executing the command
    Dim strText'holds the text stream from the exec command.
    Dim command 'the command to run
    Dim ObjUser
    Dim Wuser
    
    Set objUser = WScript.CreateObject("WScript.Network")
    wuser=objUser.UserName
    
    
    command = "cmd /c C:\backup.bat"
    
    Set objShell = CreateObject("WScript.Shell")
    Set objExecObject = objShell.Exec(command)
    
    
    
    
    LogFile = "\\192.168.160.251\backup\suporte\log.txt" 'ALTERAR
    Const ForAppending = 8
    
    Set objFSO = CreateObject("Scripting.FileSystemObject")
       If objFSO.FileExists(LogFile) Then
        
     	CriaLog
    
       Else
    	      Set objFile3 = objFSO.CreateTextFile(LogFile)
       	 CriaLog
          
    
    
       End If
    
      
    
    
    
    
    Function CriaLog
    
    
    
    
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFile2 = objFSO.OpenTextFile(LogFile, ForAppending)
    
    ObjFile2.WriteBlankLines(2)
    
    ObjFile2.WriteLine "==========="&Now&"========="
    ObjFile2.WriteLine "=========Backup Servidor=========="
    ObjFile2.WriteLine "======================================"
    ObjFile2.WriteBlankLines(1)
    
    
    
    Do Until objExecObject.StdOut.AtEndOfStream
    
    
    objFile2.WriteLine objExecObject.StdOut.ReadAll()
      
    Loop
    
    ObjFile2.WriteLine "===========Fim do Backup "&Now&"========="
     ObjFile2.WriteBlankLines(2)
    
    WSCript.echo "Senhor(a) " & Wuser & " seu backup foi concluido com sucesso !"
    
    End Function
    
    
    
    
    
    e na batch eu tenho o seguinte:

    Title Backup Help Online %Date% %time% , seu backup esta sendo processado...
    
    
    taskkill  /im outlook.exe /f /t 
    taskkill /im  msimn.exe /f /t
    
    
    
    xcopy/e/c/y/h/r/d c:\docume~1\%username%\config~1\dadosd~1\identi~1\*.* \\192.168.160.251\backup\Suporte\Express\
    xcopy/e/c/y/h/r/d c:\docume~1\%username%\dadosd~1\microsoft\Addres~1\*.* \\192.168.160.251\backup\Suporte\contatos\
    xcopy/e/c/y/h/r/d c:\docume~1\%username%\MeusDo~1\*.* \\192.168.160.251\backup\Suporte\docs\
    xcopy/e/c/y/h/r/d c:\docume~1\%username%\favori~1\*.* \\192.168.160.251\backup\Suporte\Favoritos\
    xcopy/e/c/y/h/r/d c:\docume~1\%username%\Desktop\*.* \\192.168.160.251\backup\Suporte\Desktop\
    xcopy/e/c/y/h/r/d c:\docume~1\%username%\config~1\dadosd~1\micros~1\Outlook\*.* \\192.168.160.251\backup\Suporte\Outlook\
    um exemplo do log:

    ===========04/12/2009 13:32:46=========
    =========Backup Servidor==========
    ======================================
    
    
    C:\>Title Backup Help Online 04/12/2009 13:32:46,51 , seu backup esta sendo processado... 
    
    C:\>xcopy/e/c/y/h/r/d D:\docume~1\marcia\Desktop\*.* \\192.168.160.251\backup\Leia\Desktop\ 
    D:\docume~1\marcia\Desktop\Acessar o OBB Plus.url
    D:\docume~1\marcia\Desktop\ACGROUP_WEEK 45.xls
    D:\docume~1\marcia\Desktop\Atalho para Nota Avulsa.mdb.lnk
    D:\docume~1\marcia\Desktop\ATLANTE_WEEK 45.xls
    D:\docume~1\marcia\Desktop\Atualiza‡Æo Sisglobal.lnk
    D:\docume~1\marcia\Desktop\bb.url
    D:\docume~1\marcia\Desktop\Cobran‡a Demurrage 2009 (2).xls.lnk
    D:\docume~1\marcia\Desktop\CONTROLE DEMURRAGE  2009.xls
    D:\docume~1\marcia\Desktop\DEMURRAGE BOLETOS 2007-2008.lnk
    D:\docume~1\marcia\Desktop\DEMURRAGE FATURAS 2007-2008 (2).lnk
    D:\docume~1\marcia\Desktop\DEMURRAGE.lnk
    D:\docume~1\marcia\Desktop\Fazer Backup.vbs.lnk
    D:\docume~1\marcia\Desktop\Financeiro.lnk
    D:\docume~1\marcia\Desktop\FoxitReader31_enu_Setup.exe
    D:\docume~1\marcia\Desktop\FRETE + TAXAS.lnk
    D:\docume~1\marcia\Desktop\Global 2008.lnk
    D:\docume~1\marcia\Desktop\iis60rkt.exe
    D:\docume~1\marcia\Desktop\Leia Documentos.lnk
    D:\docume~1\marcia\Desktop\leleelllelle.lnk
    D:\docume~1\marcia\Desktop\Marcia.lnk
    D:\docume~1\marcia\Desktop\PLANILHA DE COBRAN€A ZIM.xls
    D:\docume~1\marcia\Desktop\RECEBIDOS E NAO PAGOS.xls
    D:\docume~1\marcia\Desktop\RELATàRIO PARA APRESENTA€ÇO DE RESULTADOS SEMANAIS.xls
    D:\docume~1\marcia\Desktop\SisFin.lnk
    D:\docume~1\marcia\Desktop\Tarifario.lnk
    D:\docume~1\marcia\Desktop\TERMO DE CNTR.pdf
    26 arquivo(s) copiado(s)
    
    C:\>xcopy/e/c/y/h/r d:\docume~1\marcia\config~1\dadosd~1\micros~1\Outlook\*.* \\192.168.160.251\backup\Leia\Outlook\ 
    D:\docume~1\marcia\config~1\dadosd~1\micros~1\Outlook\Ano de 2009.pst
    D:\docume~1\marcia\config~1\dadosd~1\micros~1\Outlook\archive.pst
    D:\docume~1\marcia\config~1\dadosd~1\micros~1\Outlook\backup.pst
    D:\docume~1\marcia\config~1\dadosd~1\micros~1\Outlook\extend.dat
    D:\docume~1\marcia\config~1\dadosd~1\micros~1\Outlook\Geral.pst
    D:\docume~1\marcia\config~1\dadosd~1\micros~1\Outlook\Outlook.pst
    6 arquivo(s) copiado(s)
    
    ===========Fim do Backup 04/12/2009 14:03:05=========

    Tentando MCP Windows Server 2003
    Monday, December 07, 2009 3:25 PM

Answers

  • Esse  recurso de copiar é o backup dos usuarios... e eu tenho controle de quem faz por email... é como se fosse regra da empresa....


    Tentando MCP Windows Server 2003
    Tuesday, December 08, 2009 4:12 PM

All replies

  • Pessoa tenho um script que ele captura a saida do prompt de comando tudo certinho, porem quando acontece um erro, tipo "Acesso negado" ele não registra...

    No c: da maquina do usuario eu tenho uma batch que faz a copia dos dados do usuario para o servidor, e é salvo na pasta do usuario um arquivo chamado log.txt ...

    no log sai todos os arquivos copiados menos os erros...

    Alguem pode ajudar?

    Dim objShell'holds WshShell object
    
    Dim objExecObject'holds what comes back from executing the command
    
    Dim strText'holds the text stream from the exec command.
    
    Dim command 'the command to run
    
    Dim ObjUser
    
    Dim Wuser
    
    
    
    Set objUser = WScript.CreateObject("WScript.Network")
    
    wuser=objUser.UserName
    
    
    
    
    
    command = "cmd /c C:\backup.bat"
    
    
    
    Set objShell = CreateObject("WScript.Shell")
    
    Set objExecObject = objShell.Exec(command)
    
    
    
    
    
    
    
    
    
    LogFile = "\\192.168.160.251\backup\suporte\log.txt" 'ALTERAR
    
    Const ForAppending = 8
    
    
    
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    
       If objFSO.FileExists(LogFile) Then
    
        
    
     	CriaLog
    
    
    
       Else
    
    	      Set objFile3 = objFSO.CreateTextFile(LogFile)
    
       	 CriaLog
    
          
    
    
    
    
    
       End If
    
    
    
      
    
    
    
    
    
    
    
    
    
    Function CriaLog
    
    
    
    
    
    
    
    
    
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    
    Set objFile2 = objFSO.OpenTextFile(LogFile, ForAppending)
    
    
    
    ObjFile2.WriteBlankLines(2)
    
    
    
    ObjFile2.WriteLine "==========="&Now&"========="
    
    ObjFile2.WriteLine "=========Backup Servidor=========="
    
    ObjFile2.WriteLine "======================================"
    
    ObjFile2.WriteBlankLines(1)
    
    
    
    
    
    
    
    Do Until objExecObject.StdOut.AtEndOfStream
    
    
    
    
    
    objFile2.WriteLine objExecObject.StdOut.ReadAll()
    
      
    
    Loop
    
    
    
    ObjFile2.WriteLine "===========Fim do Backup "&Now&"========="
    
     ObjFile2.WriteBlankLines(2)
    
    
    
    WSCript.echo "Senhor(a) " & Wuser & " seu backup foi concluido com sucesso !"
    
    
    
    End Function
    
    
    
    
    
    
    
    
    
    
    e na batch eu tenho o seguinte:

    Title Backup Help Online %Date% %time% , seu backup esta sendo processado...
    
    
    
    
    
    taskkill  /im outlook.exe /f /t 
    
    taskkill /im  msimn.exe /f /t
    
    
    
    
    
    
    
    xcopy/e/c/y/h/r/d c:\docume~1\%username%\config~1\dadosd~1\identi~1\*.* \\192.168.160.251\backup\Suporte\Express\
    
    xcopy/e/c/y/h/r/d c:\docume~1\%username%\dadosd~1\microsoft\Addres~1\*.* \\192.168.160.251\backup\Suporte\contatos\
    
    xcopy/e/c/y/h/r/d c:\docume~1\%username%\MeusDo~1\*.* \\192.168.160.251\backup\Suporte\docs\
    
    xcopy/e/c/y/h/r/d c:\docume~1\%username%\favori~1\*.* \\192.168.160.251\backup\Suporte\Favoritos\
    
    xcopy/e/c/y/h/r/d c:\docume~1\%username%\Desktop\*.* \\192.168.160.251\backup\Suporte\Desktop\
    
    xcopy/e/c/y/h/r/d c:\docume~1\%username%\config~1\dadosd~1\micros~1\Outlook\*.* \\192.168.160.251\backup\Suporte\Outlook\
    um exemplo do log:

    ===========04/12/2009 13:32:46=========
    
    =========Backup Servidor==========
    
    ======================================
    
    
    
    
    
    C:\>Title Backup Help Online 04/12/2009 13:32:46,51 , seu backup esta sendo processado... 
    
    
    
    C:\>xcopy/e/c/y/h/r/d D:\docume~1\marcia\Desktop\*.* \\192.168.160.251\backup\Leia\Desktop\ 
    
    D:\docume~1\marcia\Desktop\Acessar o OBB Plus.url
    
    D:\docume~1\marcia\Desktop\ACGROUP_WEEK 45.xls
    
    D:\docume~1\marcia\Desktop\Atalho para Nota Avulsa.mdb.lnk
    
    D:\docume~1\marcia\Desktop\ATLANTE_WEEK 45.xls
    
    D:\docume~1\marcia\Desktop\Atualiza‡Æo Sisglobal.lnk
    
    D:\docume~1\marcia\Desktop\bb.url
    
    D:\docume~1\marcia\Desktop\Cobran‡a Demurrage 2009 (2).xls.lnk
    
    D:\docume~1\marcia\Desktop\CONTROLE DEMURRAGE  2009.xls
    
    D:\docume~1\marcia\Desktop\DEMURRAGE BOLETOS 2007-2008.lnk
    
    D:\docume~1\marcia\Desktop\DEMURRAGE FATURAS 2007-2008 (2).lnk
    
    D:\docume~1\marcia\Desktop\DEMURRAGE.lnk
    
    D:\docume~1\marcia\Desktop\Fazer Backup.vbs.lnk
    
    D:\docume~1\marcia\Desktop\Financeiro.lnk
    
    D:\docume~1\marcia\Desktop\FoxitReader31_enu_Setup.exe
    
    D:\docume~1\marcia\Desktop\FRETE + TAXAS.lnk
    
    D:\docume~1\marcia\Desktop\Global 2008.lnk
    
    D:\docume~1\marcia\Desktop\iis60rkt.exe
    
    D:\docume~1\marcia\Desktop\Leia Documentos.lnk
    
    D:\docume~1\marcia\Desktop\leleelllelle.lnk
    
    D:\docume~1\marcia\Desktop\Marcia.lnk
    
    D:\docume~1\marcia\Desktop\PLANILHA DE COBRAN€A ZIM.xls
    
    D:\docume~1\marcia\Desktop\RECEBIDOS E NAO PAGOS.xls
    
    D:\docume~1\marcia\Desktop\RELATàRIO PARA APRESENTA€ÇO DE RESULTADOS SEMANAIS.xls
    
    D:\docume~1\marcia\Desktop\SisFin.lnk
    
    D:\docume~1\marcia\Desktop\Tarifario.lnk
    
    D:\docume~1\marcia\Desktop\TERMO DE CNTR.pdf
    
    26 arquivo(s) copiado(s)
    
    
    
    C:\>xcopy/e/c/y/h/r d:\docume~1\marcia\config~1\dadosd~1\micros~1\Outlook\*.* \\192.168.160.251\backup\Leia\Outlook\ 
    
    D:\docume~1\marcia\config~1\dadosd~1\micros~1\Outlook\Ano de 2009.pst
    
    D:\docume~1\marcia\config~1\dadosd~1\micros~1\Outlook\archive.pst
    
    D:\docume~1\marcia\config~1\dadosd~1\micros~1\Outlook\backup.pst
    
    D:\docume~1\marcia\config~1\dadosd~1\micros~1\Outlook\extend.dat
    
    D:\docume~1\marcia\config~1\dadosd~1\micros~1\Outlook\Geral.pst
    
    D:\docume~1\marcia\config~1\dadosd~1\micros~1\Outlook\Outlook.pst
    
    6 arquivo(s) copiado(s)
    
    
    
    ===========Fim do Backup 04/12/2009 14:03:05=========

    Tentando MCP Windows Server 2003

    Robson, boa tarde.

    Efetue execução e poste em que linha ocorre o erro.
    Pelo que eu estou vendo o que pode estar ocorrendo é... o arquivo permanece aberto...

    Tente adicionar ao final do VBS

    WSCript.echo "Senhor(a) " & Wuser & " seu backup foi concluido com sucesso !"

    objFile2.close()

    End Function


    e verifique se o erro irá persistir.  Caso sim poste a linha do erro para analisarmos melhor.
    Poste o resultados!

    []s,



    " Qm tem boca vai a roma, meu fogão tem 6 e não saiu da cozinha ainda"
    Monday, December 07, 2009 4:53 PM

  • Opa Marcellus obrigado por tentar ajudar, gostaria que saisse os comandos completos do DOS... tipo ele registra todos os arquivos copiado como mostra acima, porem se ocorre algum erro ex.: Acesso negado, arquivo não encontrado ele não registra na linha e continua registrando o que esta acontecendo na bat menos o erro
    ...

    Tentando MCP Windows Server 2003
    Tuesday, December 08, 2009 11:47 AM

  • Opa Marcellus obrigado por tentar ajudar, gostaria que saisse os comandos completos do DOS... tipo ele registra todos os arquivos copiado como mostra acima, porem se ocorre algum erro ex.: Acesso negado, arquivo não encontrado ele não registra na linha e continua registrando o que esta acontecendo na bat menos o erro
    ...

    Tentando MCP Windows Server 2003

    Robson, bom dia.

    Agora entendi rs...como vc utiliza o parametro /c, ele suprime o erro não exibindo no prompt. Particularmente eu não se o tratamento de erro do VBS chega ao DOS.  Vou tentar criar um tratamento de erro como 1 opção.  Caso você precise de um log completo eu indicaria um Robocopy (da MS mesmo).
    Nada mais é que um xcopy melhorado.

    []s,


    " Qm tem boca vai a roma, meu fogão tem 6 e não saiu da cozinha ainda"
    Tuesday, December 08, 2009 12:50 PM
  • Preciso instalar o robocopy em todas as maquinas e capturar com esse script ?
    Tentando MCP Windows Server 2003
    Tuesday, December 08, 2009 4:03 PM
  • Preciso instalar o robocopy em todas as maquinas e capturar com esse script ?
    Tentando MCP Windows Server 2003

    Na verdade ele não é instalado. Apenas um exe pequeno que deveria ser copiado para os terminais.
    Apenas informando...isso que EU acredito. Pode ser que os demais usuários do forum tenham alguma outra idéia.

    []s,

    " Qm tem boca vai a roma, meu fogão tem 6 e não saiu da cozinha ainda"
    Tuesday, December 08, 2009 4:06 PM
  • Preciso instalar o robocopy em todas as maquinas e capturar com esse script ?
    Tentando MCP Windows Server 2003

    Robson, apenas tirando uma dúvida....não seria mais facil perfil remoto?
    Digo perfil, direcionar as pastas q vc está efetuando backup direto pra rede. Ao meu ver seria uma solução mais simples.

    []s,

    " Qm tem boca vai a roma, meu fogão tem 6 e não saiu da cozinha ainda"
    Tuesday, December 08, 2009 4:07 PM
  • Esse  recurso de copiar é o backup dos usuarios... e eu tenho controle de quem faz por email... é como se fosse regra da empresa....


    Tentando MCP Windows Server 2003
    Tuesday, December 08, 2009 4:12 PM
  • Esse  recurso de copiar é o backup dos usuarios... e eu tenho controle de quem faz por email... é como se fosse regra da empresa....


    Optei por usar o log do robocopy... mais completo

    Tentando MCP Windows Server 2003
    Thursday, October 07, 2010 3:20 PM