none
Busca de Arquivos Ocultos RRS feed

  • Pergunta

  • Ba galera, boa tarde.

    O que devo mudar nesse scritp para que o mesmo so grave no log, os arquivos que estão ocultos e não todos os arquivos com as definições escolhidas no processo de busca do mesmo.

    Valeu galera.

    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    set FSo = CreateObject("Scripting.FileSystemObject")

    Pasta = "C:\"
    strDest = "C:\log.txt"
    arrTipos = "log;jpg;mp3;dll"
    arrTipos = split(arrTipos,";")
    set folder = FSO.getFolder (Pasta)
    Set ArqLog = FSO.OpenTextFile(strDest, 8, True, 0)
    ArqLog.WriteLine  VBCRLF
    ArqLog.WriteLine "==================================================="
    ArqLog.WriteLine "ARQUIVOS LISTADOS EM: " & now
    ArqLog.WriteLine "==================================================="

    ArqLog.Close
    BuscaArquivo Pasta
    if folder.Subfolders.count > 0 then
      for each SubFolder in folder.Subfolders
       BuscaArquivo SubFolder
      next
    end if

    Sub BuscaArquivo(strPasta)
    Set ArqLog = FSO.OpenTextFile(strDest, 8, True, 0)
    Set colFiles = objWMIService.ExecQuery _
        ("ASSOCIATORS OF {Win32_Directory.Name='" &strPasta& "'} Where " _
            & "ResultClass = CIM_DataFile")

    For Each objFile in colFiles
      For Each tipo in arrTipos
       If objFile.Extension = tipo Then
          ArqLog.WriteLine objFile.Name
       End If
     Next
    Next
    ArqLog.Close
    End Sub

    sábado, 8 de agosto de 2009 20:42

Respostas

  • Olá,

    Altere a linha onde está

    ArqLog.WriteLine objArquivo.Name

    Altere para:

    ArqLog.WriteLine objArquivo.path


    Até mais,

    Jesiel

    Obs.: Se útil, classifique


    • Marcado como Resposta Marcelo TI quinta-feira, 13 de agosto de 2009 00:11
    quarta-feira, 12 de agosto de 2009 11:56

Todas as Respostas

  • Olá,

    Faça os testes no script abaixo:


    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    set FSo = CreateObject("Scripting.FileSystemObject")

    Pasta = "C:\"
    strDest = "C:\log.txt"

    set folder = FSO.getFolder (Pasta)
    Set ArqLog = FSO.OpenTextFile(strDest, 8, True, 0)
    ArqLog.WriteLine  VBCRLF
    ArqLog.WriteLine "==================================================="
    ArqLog.WriteLine "ARQUIVOS LISTADOS EM: " & now
    ArqLog.WriteLine "==================================================="

    ArqLog.Close
    BuscaArquivo Pasta
    if folder.Subfolders.count > 0 then
      for each SubFolder in folder.Subfolders
       BuscaArquivo SubFolder
      next
    end if

    Sub BuscaArquivo(strPasta)
    Set ArqLog = FSO.OpenTextFile(strDest, 8, True, 0)
    Set colFiles = objWMIService.ExecQuery _
        ("ASSOCIATORS OF {Win32_Directory.Name='" &strPasta& "'} Where " _
            & "ResultClass = CIM_DataFile")

    For Each objFile in colFiles
    Set objArquivo = FSo.GetFile(objFile.Name)
       If objArquivo.Attributes AND 2 Then
          ArqLog.WriteLine objArquivo.Name
       End if
    Next
    ArqLog.Close
    End Sub


    Até mais,

    Jesiel

    Obs.: Se útil, classifique


    segunda-feira, 10 de agosto de 2009 14:01
  • Ba Jesiel Tree legal.

    Show mesmo mais duas coisas, tem como ele buscar somente o que eu quero como eu tinha no outro o arrTipos ?

    E outro detalhe, no log tem como fazer ele colocar o caminho que o arquivo esta no disco por exemplo c:\arquivos\xyz.mp3

    E agora fiquei com uma duvida, deixando C:\ ele so vai procurar no C:\ pois rodele ele da forma que esta, ele me mostrou 6 arquivos, ai se eu coloco c:\windows, ele me traz uma tonelada de arquivos que nao mostrou quando estava so com C:\ 

    Valeu meu amigo

     

    Braço.

    segunda-feira, 10 de agosto de 2009 20:14
  • Olá,

    Segue o script com o filtro de extensão.


    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    set FSo = CreateObject("Scripting.FileSystemObject")

    Pasta = "C:\"
    strDest = "log.txt"
    arrTipos = "log;jpg;mp3;dll"
    arrTipos = split(arrTipos,";")

    set folder = FSO.getFolder (Pasta)
    Set ArqLog = FSO.OpenTextFile(strDest, 8, True, 0)
    ArqLog.WriteLine  VBCRLF
    ArqLog.WriteLine "==================================================="
    ArqLog.WriteLine "ARQUIVOS LISTADOS EM: " & now
    ArqLog.WriteLine "==================================================="

    ArqLog.Close
    BuscaArquivo Pasta
    if folder.Subfolders.count > 0 then
      for each SubFolder in folder.Subfolders
       BuscaArquivo SubFolder
      next
    end if

    Sub BuscaArquivo(strPasta)
    Set ArqLog = FSO.OpenTextFile(strDest, 8, True, 0)
    Set colFiles = objWMIService.ExecQuery _
        ("ASSOCIATORS OF {Win32_Directory.Name='" &strPasta& "'} Where " _
            & "ResultClass = CIM_DataFile")

    For Each objFile in colFiles
      For Each tipo in arrTipos
       If objFile.Extension = tipo Then
          Set objArquivo = FSo.GetFile(objFile.Name)
          If objArquivo.Attributes AND 2 Then
             ArqLog.WriteLine objArquivo.Name
          End if
       End If
     Next
    Next

    ArqLog.Close
    End Sub



    Até mais,

    Jesiel

    Obs.: Se útil, classifique

    terça-feira, 11 de agosto de 2009 01:54
  • Ba jesiel.

    Show.. mais tem como colocar o caminho da onde foi localizado os arquivos,,,


    Abraço.
    quarta-feira, 12 de agosto de 2009 00:22
  • Olá,

    Altere a linha onde está

    ArqLog.WriteLine objArquivo.Name

    Altere para:

    ArqLog.WriteLine objArquivo.path


    Até mais,

    Jesiel

    Obs.: Se útil, classifique


    • Marcado como Resposta Marcelo TI quinta-feira, 13 de agosto de 2009 00:11
    quarta-feira, 12 de agosto de 2009 11:56
  • Ba Jesiel

    show... valeu mesmo.
    quinta-feira, 13 de agosto de 2009 00:12