Mike Assis Postado Março 2, 2010 Denunciar Share Postado Março 2, 2010 Ola pessoalsou novo no fórum e preciso de uma ajudatenho um VBScript q serve para pegar alguns Status em arquivos de Log TxT e criar um contador para cada Statusporém só consegui fazer com que funcione especificando o nome do arquivogostaria de saber se tem alguma função do tipo Dir para ler todos os arquivos do diretórioO padrão do conteudo dos logs é:OIBM9Y1|DOMAIN;LOGIN;APPLICATION;INCLUIR;1OIBM9Y1|DOMAIN;LOGIN;APPLICATION;INCLUIR;2sendo o ultimo campo após o ";"(1, 2) o status do Logmeu código ficou assimSet objFSO = CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.OpenTextFile("C:\temp\teste\TextToRead.txt", 1) Do Until objFile.AtEndOfStream strCharacters = objFile.Read(2) CopyCaracter = strCharacters Select Case CopyCaracter Case ";1" AppAdd = AppAdd + 1 Case ";2" AppRem = AppRem + 1 Case ";3" AppNotFind = AppNotFind + 1 Case ";4" UserNotFind = UserNotFind + 1 Case ";5" UserAccRepeat = UserAccRepeat + 1 Case ";7" UnknownError = UnknownError + 1 End Select Loopporém ele só le o arquivo "C:\temp\teste\TextToRead.txt" e não o diretório "C:\temp\teste\".já tentei mudar para "C:\temp\teste\*.txt" porém não tive sucessoDesde jáObrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Março 9, 2010 Denunciar Share Postado Março 9, 2010 tenho um VBScript q serve para pegar alguns Status em arquivos de Log TxT e criar um contador para cada Statusporém só consegui fazer com que funcione especificando o nome do arquivogostaria de saber se tem alguma função do tipo Dir para ler todos os arquivos do diretórioSet objFile = objFSO.OpenTextFile("C:\temp\teste\TextToRead.txt", 1)voce deve criar uma lista com o nome os arquivos .... depois voce lê essa lista um a um e substitu o comando por uma vriavel que vai receber o nome da listaexemplo:Set objFile = objFSO.OpenTextFile("C:\temp\teste\"+ArqText, 1)onde ArqText vai receber cada um dos nomes dos arquivos .... monte uma rotina para ler todos os nomes dessa lista.abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 RUI_BARROS Postado Abril 12, 2010 Denunciar Share Postado Abril 12, 2010 É muito simples maninho, basta inserir um objeto que retorne a pasta onde estão seus arquivos e usar um For...Next pra retornar o nome de cada um deles. ai você executa o loop em todos os arquivos.O código fica assim:Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFolder = objFSO.GetFolder("C:\temp\teste") For Each File in objFolder.Files[/b] Set objFile = objFSO.OpenTextFile("C:\temp\teste\" & File.name, 1) Do Until objFile.AtEndOfStream strCharacters = objFile.Read(2) CopyCaracter = strCharacters Select Case CopyCaracter Case ";1" AppAdd = AppAdd + 1 Case ";2" AppRem = AppRem + 1 Case ";3" AppNotFind = AppNotFind + 1 Case ";4" UserNotFind = UserNotFind + 1 Case ";5" UserAccRepeat = UserAccRepeat + 1 Case ";7" UnknownError = UnknownError + 1 End Select Loop NextCreio que isso resolva seu problema.Espero ter ajudado... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Abril 12, 2010 Denunciar Share Postado Abril 12, 2010 Rui Barros, sei que a intenção é ajudar, mas é recomendável fazer isso em tópicos mais recentes. O membro não visita o fórum há mais de um mês. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Mike Assis Postado Abril 12, 2010 Autor Denunciar Share Postado Abril 12, 2010 OpaRuicara funcionou perfeitamente desse jeitoMuito Obrigado meu carotu salvou meu script já estava perdendo a esperança:D Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Mike Assis
Ola pessoal
sou novo no fórum e preciso de uma ajuda
tenho um VBScript q serve para pegar alguns Status em arquivos de Log TxT e criar um contador para cada Status
porém só consegui fazer com que funcione especificando o nome do arquivo
gostaria de saber se tem alguma função do tipo Dir para ler todos os arquivos do diretório
O padrão do conteudo dos logs é:
OIBM9Y1|DOMAIN;LOGIN;APPLICATION;INCLUIR;1
OIBM9Y1|DOMAIN;LOGIN;APPLICATION;INCLUIR;2
sendo o ultimo campo após o ";"(1, 2) o status do Log
meu código ficou assim
porém ele só le o arquivo "C:\temp\teste\TextToRead.txt" e não o diretório "C:\temp\teste\".
já tentei mudar para "C:\temp\teste\*.txt" porém não tive sucesso
Desde já
Obrigado
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.