none
BAT WINDOWS RRS feed

  • Pergunta

  • Bom dia a todos .

    Preciso ler um arquivo tipo  nomes.txt  e dele pegar todos os nomes um por um e fazer um findstr no arquivo procura.txt

    Exemplo arquivo nomes.txt

    antonio pedro moraes souza jardim

    joaquim de souza

    to usando o codigo abaixo , mas ele esta duplicando os nomes  e tb gravando o conteudo do arquivo procura.txt  dentro do arquivo saida mesmo sem acha.lo no findstr.

    @echo off

    for /f "tokens=1,2,3,4,5" %%a in (nomes.txt) do (
      findstr  "%%a %%b %%c %%d %%e"   procura.txt >>saida
    )

    Muito Obrigado

    quarta-feira, 24 de junho de 2020 14:19

Todas as Respostas

  • Olá, 

    dentro de nomes.txt tem alguns nomes, e o que tem dentro de procura.txt?

    quarta-feira, 24 de junho de 2020 17:20
  • Boa tarde.

    Dentro de nomes.txt   sao os nomes de funcionarios  e dentro procura.txt   tb são nomes de funcionarios .

    Preciso pesquisar quais nomes não constam , batendo os  arquivos  nomes.txt com procura.txt.

    Grato

    quarta-feira, 24 de junho de 2020 20:04
  • Bom, caso opte por usar powershell em vez de bat, pode fazer um compare

    Compare-Object -ReferenceObject (Get-Content C:\temp\nomes.txt) -DifferenceObject (Get-Content C:\temp\procura.txt)

    Ou, algo parecido com isso:

    $Nomes = Get-Content C:\temp\nomes.txt
    $Procura = Get-Content C:\temp\procura.txt
    foreach($Nome in $Nomes){
        if($Nome -notin $Procura){
            Write-Output "$Nome está não está presente no arquivo procura.txt"
            # saída em arquivo txt
            $Nome | Out-File c:\temp\saida.txt -Append 
        }
    }

    • Sugerido como Resposta fernando do vale quinta-feira, 25 de junho de 2020 21:46
    quinta-feira, 25 de junho de 2020 12:34
  • Ola FernandoBoa noite.

    Fiz em power shell como falou , e deu certo .

    Muito Obrigado pela Ajuda. 

    quinta-feira, 25 de junho de 2020 21:42