Ir para conteúdo
Fórum Script Brasil
  • 0

Vbscript OpenTextFile - Split - Len


rgaspar

Pergunta

Viva,

Necessitava de uma pequena ajuda para um pequeno problema que me tem dado umas pequenas dores de cabeça. Então é assim.

Estou a correr um script que me pesquisa todos os ficheiros mp3 que se encontram em C:\ e grava o log num txt. Até aqui tudo bem. O que necessito é de separar os files para uma váriavel e os bytes para outra.

O problema aqui é que o log que é gerado não tem os espaços correctos entre a informação. Passo a explicar. O espaçamento da esquerda até ao numero de ficheiros vai diminuindo quando o numero sobe. O numero de bytes se for de apenas 4gb o espaçamento entre a palavra File(s) até ao numero é de 2 se o numero de bytes aumentar para 14gb o espaçamento passa para 1.

Total Files Listed:

< 11 espaços >11305<1>File(s)<2>4.459.988.139<1>bytes

< 12 espaços >1305<1>File(s)<1>14.459.988.139<1>bytes

< 13 espaços >305<1>File(s)<1>114.459.988.139<1>bytes

Script para criar o log com a quantiadade de mp3 que tenho no meu pc:

Set objShell = CreateObject("Wscript.Shell")

objShell.Run "%comspec% /c c: & cd\ & dir /s /w *.mp3 >> C:\Dados\MusicPC.txt", 1, True

O script que estou a executar para retirar a informação que necessito é o seguinte:

Dim objFSO, objShell, objFile

Dim strFile, strLine, strTotalFiles, Flag

Const ForReading = 1

Const ForWriting = 2

Const ForAppending = 8

Set objFSO = CreateObject("Scripting.FileSystemObject")

Set objShell = CreateObject("Wscript.Shell")

Set objFile = objFSO.OpenTextFile("C:\Dados\MusicPc.txt", 1)

Do Until objFile.AtEndOfStream

strLine = objFile.ReadLine

If Instr(strLine, "Total Files Listed:") Then

Flag = True

End If

If Flag = True Then

strTotalFiles = Trim(strLine)

strTotalFiles = Trim(objFile.ReadLine)

wscript.echo strTotalFiles

Flag = False

End If

Loop

objFile.Close

Output: 11305 File(s) 4.459.988.139 bytes

Como é que faço para ter apenas numa variavel o numero de files e numa outra variavel o numero de bytes. Exemplo

strVarFiles = 11305

strVarBytes = 4.459.988.139 ou 14.459.988.139 ou 114.459.988.139

Obrigado pela colaboração

Ricardo Gaspar

:unsure:

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...