none
Script para alterar um arquivo do bloco de notas

    Pergunta

  • Bom dia pessoal,

     

    Gostaria que alguem do fórum pudesse me ensinar a fazer um script para alterar o conteudo em texto do bloco de notas para um outro.

    quinta-feira, 22 de janeiro de 2009 13:33

Respostas

  • Estou colocando 3 exemplos de alteração em arquivos txt, mas nao sei se é o que precisa.

    Exemplo 1 - insere texto apos determinada linha
    ---------------------------------------------------------

    Const FOR_READING = 1
    Const FOR_WRITING = 2
    strFileName = "C:\scripts\test.txt"
    strNewContent = "dados inseridos no arquivo"

    iInsertAfterLineNumber = 3

    Set objFS = CreateObject("Scripting.FileSystemObject")
    Set objTS = objFS.OpenTextFile(strFileName, FOR_READING)
    strContents = objTS.ReadAll
    objTS.Close

    arrLines  = Split(strContents, vbNewLine)

    Set objTS = objFS.OpenTextFile(strFileName, FOR_WRITING)

    For i=0 To UBound(arrLines)
       If i = iInsertAfterLineNumber Then
          objTS.WriteLine strNewContent
       End If
       objTS.WriteLine arrLines(i)
    Next

    -----------------------------------------------------------------------------

    Exemplo 2 - alterar todas as palavras "Scripts" por "Palavra Nova" no arquivo texto
    ------------------------------------------------------------------------------------------------

    Const FOR_READING = 1
    Const FOR_WRITING = 2
    strFileName = "C:\scripts\test.txt"


    Set objFS = CreateObject("Scripting.FileSystemObject")
    Set objTS = objFS.OpenTextFile(strFileName, FOR_READING)
    strContents = objTS.ReadAll
    objTS.Close


    Set objTS = objFS.OpenTextFile(strFileName, FOR_WRITING)

    strContents = Replace(strContents, "Scripts", "Palavra Nova")
    objTS.WriteLine strContents
    objTS.Close

    -----------------------------------------------------------------------------

    Exemplo 3 - alterar conteudo do test.txt para as 3 primeiras linhas do arquivo header.txt
    ------------------------------------------------------------------------------------------------

    Const FOR_READING = 1
    Const FOR_WRITING = 2
    strFileName1 = "C:\scripts\test.txt"
    strFileName2 = "C:\scripts\header.txt"


    Set objFS = CreateObject("Scripting.FileSystemObject")
    Set objTS = objFS.OpenTextFile(strFileName1, FOR_READING)
    strContents1 = objTS.ReadAll
    objTS.Close

    Set objTS = objFS.OpenTextFile(strFileName2, FOR_READING)
    strContents2 = objTS.ReadAll
    objTS.Close

    arrLines  = Split(strContents2, vbNewLine)

    Set objTS = objFS.OpenTextFile(strFileName1, FOR_WRITING)

    For i=0 To 2
       objTS.WriteLine arrLines(i)
    Next

    objTS.Close

    • Marcado como Resposta Renan Lisboa terça-feira, 25 de agosto de 2009 20:33
    terça-feira, 11 de agosto de 2009 20:01