Pergunta

Eu tenho um loop que encontra linhas duplicadas em um arquivo .ini. Felizmente, encontro as linhas duplicadas e escrevo novas linhas no arquivo usando o arquivo de sistema de sistema, no entanto ... não consigo descobrir como excluir as linhas duplicadas. O que eu quero fazer é excluir as linhas por número de linha, pois já identifiquei o número da linha relevante.

Existe uma maneira nativa de fazer isso ou é um caso de reescrever o arquivo menos as linhas duplicadas?

Qualquer ajuda é muito apreciada.

Obrigado.

Meu método de encontrar a entrada duplicada é o seguinte:

  Do While Not file.AtEndOfStream
    intLineNumber = intLineNumber + 1
    strReadLineText = file.ReadLine
    If strSearchText <> "" And InStr(strReadLineText, strSearchText) > 0 Then
      session("message") = "Line Exists on " + Cstr(intLineNumber)
      '' # delete duplicate line...

    End If
  Loop
  file.Close()

Você pode ver onde está meu comentário, é onde desejo remover a linha encontrada.

Foi útil?

Solução

Não há métodos internos para fazer isso no VBScript (ou nos objetos intrínsecos).

Meu voto seria usar a concatenação de string para conseguir isso; ou seja, em vez de excluir linhas, criar um novo arquivo, linha por linha e apenas anexar à string se a linha não existir na string que você está construindo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top