none
Alteração de Script que monitora tamanho de uma pasta., para funcionamento por horário RRS feed

  • Pergunta

  •  

    Amigos, tenho esse script abaixo,que monitora o tamanho de uma pasta especificada, e gostária que o mesmo executa-se no horário especificado, do jeito que está, o mesmo está especificado para verificar o arquivo a cada 30 segundos, e eu queria que ele executa-se todos os dias as 22h00, e se possivel que ele continuasse a ficar em looping.

     

    Desde já, agradeço a colaboração de todos!!

     

    Set objFSO = CreateObject("Scripting.FileSystemObject")

    Set objFolder = objFSO.GetFolder("C:\MEDIA\TVDIARIO")

    Do
        old = objFolder.Size
        WScript.Sleep 30000
        message = message & "New size: " & objFolder.Size  & Chr(13)
        message = message & "Old size: " & old & Chr(13)
        Wscript.Echo message
     message = ""
     If old = objFolder.Size Then
      ' aqui colocamos a açao caso o arquivo nao tenha alterado o tamanho
      'Mail
      WScript.Echo "Não alterou"
     End If
    Loop

    Sub Mail
      Set objEmail = CreateObject("CDO.Message")
       objEmail.From = "monitor@dominio.com "
       objEmail.To = "admin2@dominio.com "
       objEmail.Subject = "Criacao de arquivo"
       objEmail.Textbody = "O arquivo " & objLatestEvent.TargetInstance.Name & _
       "nao se alterou na ultima checagem. Seu tamanho é de " & objLatestEvent.TargetInstance.FileSize
       objEmail.Configuration.Fields.Item _
          ("http://schemas.microsoft.com/cdo/configuration/sendusing ") = 2
       objEmail.Configuration.Fields.Item _
          ("http://schemas.microsoft.com/cdo/configuration/smtpserver ") = _
             "NomeServidorEmail"
       objEmail.Configuration.Fields.Item _
          ("http://schemas.microsoft.com/cdo/configuration/smtpserverport ") = 25
       objEmail.Configuration.Fields.Update
       objEmail.Send
    End Sub

     

    segunda-feira, 7 de junho de 2010 14:41

Respostas

  • Cara não entendi muito bem mas veja se é isso que vc precisa.

    Set objFSO = CreateObject("Scripting.FileSystemObject")

    Set objFolder = objFSO.GetFolder("C:\MEDIA\TVDIARIO")

    '---------------------------------------------

    HoraEnvio = 22
    MinEnvio = 15
    '---------------------------------------------

    Do

    strHora  = Hour(Now)
    strMinuto = Minute(Now)
    If strHora = HoraEnvio Then
         If strMinuto = MinEnvio Then

             old = objFolder.Size
             message = message & "New size: " & objFolder.Size  & Chr(13)
             message = message & "Old size: " & old & Chr(13)
             Wscript.Echo message
             message = ""
            If old = objFolder.Size Then
                 ' aqui colocamos a açao caso o arquivo nao tenha alterado o tamanho
                 'Mail
                 WScript.Echo "Não alterou"
            End If

          End If

    End If

    WScript.Sleep 40000

    Loop

    Sub Mail
      Set objEmail = CreateObject("CDO.Message")
       objEmail.From = "monitor@dominio.com "
       objEmail.To = "admin2@dominio.com "
       objEmail.Subject = "Criacao de arquivo"
       objEmail.Textbody = "O arquivo " & objLatestEvent.TargetInstance.Name & _
       "nao se alterou na ultima checagem. Seu tamanho é de " & objLatestEvent.TargetInstance.FileSize
       objEmail.Configuration.Fields.Item _
          ("http://schemas.microsoft.com/cdo/configuration/sendusing ") = 2
       objEmail.Configuration.Fields.Item _
          ("http://schemas.microsoft.com/cdo/configuration/smtpserver ") = _
             "NomeServidorEmail"
       objEmail.Configuration.Fields.Item _
          ("http://schemas.microsoft.com/cdo/configuration/smtpserverport ") = 25
       objEmail.Configuration.Fields.Update
       objEmail.Send
    End Sub

    Qualquer dúvida poste e se for útil vote.

    Abraço.


    Gabriel Nascimento MCP / MCSA / CCNA http://gabrielnascimentoit.spaces.live.com -- Se for útil vote.
    • Marcado como Resposta forceofwill25 terça-feira, 8 de junho de 2010 16:38
    terça-feira, 8 de junho de 2010 15:11

Todas as Respostas

  • Você quer que o script seja executado sempre as 22hs?

    Se for isso crie uma task, fica mais fácil.

    Você precisa que depois de executado ele fique em loop? E qual o intervalo que ele vai executar esse loop?

    Para fazer um loop basta fazer o seguinte, esse é um loop infinito.

    While 1 = 1

    'Tempo que irá executar o loop novamente Nesse caso 5min

    Wscript.Sleep(300000)

    Wend

    Qualquer dúvida poste e se for útil vote.

    Abraço.


    Gabriel Nascimento MCP / MCSA / CCNA http://gabrielnascimentoit.spaces.live.com -- Se for útil vote.
    segunda-feira, 7 de junho de 2010 15:41
  • Olá Gabriel,

     

    Eu precisava que esse script fosse semelhante ao que vc fez pra mim, q avisa quando desliga a maquina, ele teria que executar sempre as 22h15, eu vou monitorar uma pasta que é feito backup, e caso o backup não tenha sido feito ele manda um e-mail avisando, como nessa pasta sempre o nome do arquivo muda, então está especifico para monitorar o tamanho da pasta, eu sou novo no forum e agora que estou aprendendo a criar scripts, mas não sei ainda fazer algumas mudanças, será que é possivel fazer dessa forma? Ele executa a primeira vez e fica na memoria, e quando for 22h15 da noite ele manda um e-mail caso o tamanho não tenha sido alterado.

     

    Desde já, agradeço a sua colaboração e atenção!

    Muito obrigado!

    Atenciosamente,

    Julio

    segunda-feira, 7 de junho de 2010 16:22
  • Cara não entendi muito bem mas veja se é isso que vc precisa.

    Set objFSO = CreateObject("Scripting.FileSystemObject")

    Set objFolder = objFSO.GetFolder("C:\MEDIA\TVDIARIO")

    '---------------------------------------------

    HoraEnvio = 22
    MinEnvio = 15
    '---------------------------------------------

    Do

    strHora  = Hour(Now)
    strMinuto = Minute(Now)
    If strHora = HoraEnvio Then
         If strMinuto = MinEnvio Then

             old = objFolder.Size
             message = message & "New size: " & objFolder.Size  & Chr(13)
             message = message & "Old size: " & old & Chr(13)
             Wscript.Echo message
             message = ""
            If old = objFolder.Size Then
                 ' aqui colocamos a açao caso o arquivo nao tenha alterado o tamanho
                 'Mail
                 WScript.Echo "Não alterou"
            End If

          End If

    End If

    WScript.Sleep 40000

    Loop

    Sub Mail
      Set objEmail = CreateObject("CDO.Message")
       objEmail.From = "monitor@dominio.com "
       objEmail.To = "admin2@dominio.com "
       objEmail.Subject = "Criacao de arquivo"
       objEmail.Textbody = "O arquivo " & objLatestEvent.TargetInstance.Name & _
       "nao se alterou na ultima checagem. Seu tamanho é de " & objLatestEvent.TargetInstance.FileSize
       objEmail.Configuration.Fields.Item _
          ("http://schemas.microsoft.com/cdo/configuration/sendusing ") = 2
       objEmail.Configuration.Fields.Item _
          ("http://schemas.microsoft.com/cdo/configuration/smtpserver ") = _
             "NomeServidorEmail"
       objEmail.Configuration.Fields.Item _
          ("http://schemas.microsoft.com/cdo/configuration/smtpserverport ") = 25
       objEmail.Configuration.Fields.Update
       objEmail.Send
    End Sub

    Qualquer dúvida poste e se for útil vote.

    Abraço.


    Gabriel Nascimento MCP / MCSA / CCNA http://gabrielnascimentoit.spaces.live.com -- Se for útil vote.
    • Marcado como Resposta forceofwill25 terça-feira, 8 de junho de 2010 16:38
    terça-feira, 8 de junho de 2010 15:11
  • É isso  aí Gabriel!!! Muitissimo Obrigado!!

     

    Forte abraço!!

     

    Julio

    terça-feira, 8 de junho de 2010 16:37