none
Localizar uma linha no txt e substituir utilizando uma .bat RRS feed

  • Pergunta

  • Ao alterar um arquivo .txt utilizando uma .bat o mesmo esta alterando todas as linhas do arquivo(txt). Preciso que altere somente o numero(18) das linhas 3 e 4.

    Arquivo: DADOS.TXT
    ^FO208,520^AAN,18,10^FDMADE IN BRAZIL^FS - 1
    ^FO208,520^AAN,18,10^FDMADE IN BRAZIL^FS - 2
    ^FO208,520^AAN,18,10^FDMADE IN BRAZIL^FS - 3
    ^FO208,520^AAN,18,10^FDMADE IN BRAZIL^FS - 4
    ^FO208,520^AAN,18,10^FDMADE IN BRAZIL^FS - 5

    Código:
    @echo off
    setlocal enabledelayedexpansion
    for /f "TOKENS=*" %%A IN (DADOS.TXT) DO (
    SET var=%%A
    echo !var:~0,15!valorAlterado!var:~17! >> DADOS2.TXT
    )
    pause

    Resultado Apresentado: DADOS2.TXT
    ^FO208,520^AAN,valorAlterado,10^FDMADE IN BRAZIL^FS - 1 
    ^FO208,520^AAN,valorAlterado,10^FDMADE IN BRAZIL^FS - 2 
    ^FO208,520^AAN,valorAlterado,10^FDMADE IN BRAZIL^FS - 3 
    ^FO208,520^AAN,valorAlterado,10^FDMADE IN BRAZIL^FS - 4 
    ^FO208,520^AAN,valorAlterado,10^FDMADE IN BRAZIL^FS - 5 

    Resultado Esperado: DADOS2.TXT
    ^FO208,520^AAN,18,10^FDMADE IN BRAZIL^FS - 1 
    ^FO208,520^AAN,18,10^FDMADE IN BRAZIL^FS - 2 
    ^FO208,520^AAN,valorAlterado,10^FDMADE IN BRAZIL^FS - 3 
    ^FO208,520^AAN,valorAlterado,10^FDMADE IN BRAZIL^FS - 4 
    ^FO208,520^AAN,18,10^FDMADE IN BRAZIL^FS - 5 

    Quem puder me ajudar ficarei muito grato!!!


    • Editado Wesley_Fran terça-feira, 17 de outubro de 2017 17:05
    terça-feira, 17 de outubro de 2017 16:36