O snippet de código a seguir, modificado de um postar por Ansgar Wiechers , permite que você especifique uma pasta e depois crie uma lista baseada na extensão:
Set fso = CreateObject("Scripting.FileSystemObject")
Set objLog = fso.CreateTextFile("c:\temp\out.log", true)
Set list = CreateObject("ADOR.Recordset")
list.Fields.Append "name", 200, 255
'list.Fields.Append "date", 7
list.Open
For Each f In fso.GetFolder("C:\temp").Files
If (UCase(Right(f.Path,4))=".DOC" or UCase(Right(f.Path,5))=".DOCX") then
list.AddNew
list("name").Value = f.Path
'list("date").Value = f.DateLastModified
list.Update
end if
Next
list.MoveFirst
Do Until list.EOF
WScript.Echo list("name").Value
objLog.write list("name").Value
list.MoveNext
Loop
list.Close
objLog.Close
Modifique o GetFolder("C:\temp")
com o caminho de seus arquivos e a parte InStr(f.Path,".txt")
com a extensão de documento que você deseja incluir. Quaisquer arquivos encontrados, por exemplo, serão gravados na tela e c:\temp\out.log
não deve ser tão difícil de incluir com seu código para que você possa percorrer uma pasta e encontrar os arquivos com .DOC (ou .DOCX ) sobre eles.
Responda ao comentário do autor abaixo:
O código para obter a lista de arquivos na pasta c:\temp
começa no loop for each
. Examinamos cada nome de arquivo recuperado e, se a string ".txt" estiver no nome do arquivo, ele será adicionado ao objeto list
. Você pode alterar a lógica da instrução if...end if
alterando primeiro a seção .txt
para .doc
e, em seguida, adicionando um or Instr(f.path,".docx")
antes do then
para que os arquivos .DOC e .DOCX sejam encontrados. Quando eu olho para isso, eu provavelmente mudaria o Instr
para incluir os 4 e 5 caracteres mais à direita da string, de modo que apenas a extensão seja usada. Como está, se houver um arquivo chamado "este é meu arquivo.txt.pdf", ele será selecionado como a string .txt
encontrada. Eu fiz as alterações. Tal como está, o script deve encontrar qualquer arquivo .DOC ou .DOCX na pasta c:\temp
Espero que isso ajude!