none
Inserir nome do arquivo (txt) em cada registro do mesmo via BAT ou VBS RRS feed

  • Pergunta

  • Pessoal, estou precisando inserir em cada registro dentro do arquivo o nome do próprio arquivo.

    O arquivo possui o layout abaixo, com todos os campos separados por ponto e vírgula.

    EMPRESA;TIPO PGTO;DESCRIÇÃO;CONTA;CICLO;VALOR LANÇADO
    EBT                                      ;CASH ;PAGAMENTO EM DINHEIRO    ;213841653;0;63,81

    Acontece que a data de cada registro está no nome no arquio (Ex:Arquivo-pagamento-detalhado-SP-20150219-20150219-151827) e por isso preciso acrescentar essa informação em cada registro para depois extrair somente a data no banco de dados.


    As flechas dos persas são tantas que podem esconder o Sol. Então lutaremos na sombra. (Filme 300 )


    • Editado Marlon Silva terça-feira, 10 de março de 2015 20:21
    terça-feira, 10 de março de 2015 19:23

Respostas

  • Marlon,

    Tente este PowerShell.

    Faça testes antes, eu fiz um teste muito simples. No caso basta você informar qual o diretório onde estão os arquivos e ele vai ler e alterar todos os arquivos da pasta.

    #Diretório onde estão os arquivos
    $Diretorio = "C:\TESTE"
    
    
    foreach($Arquivo in (Dir $Diretorio)){
    
        #Pega o Nome do arquivo
        $Nome_Arquivo = $Arquivo.FullName
    
        #Pega a data que está no nome do arquivo
        $Data_Arquivo = $Arquivo.Name.Substring(31,8)
    
        #Lê o arquivo pra adicionar a informação
        foreach($Linha in (Get-Content $Nome_Arquivo)){
    
            if ($Linha -like "EMPRESA*"){
                #é o cabeçalho, adiciona nome do campo
                $NovaLinha = $Linha + ";Data"
                Set-Content -Path $Nome_Arquivo -Value $NovaLinha
            }else{
                #Linha de dados, adiciona a data retirada do nome
                $NovaLinha = $Linha + ";" + $Data_Arquivo
                Add-Content -Path $Nome_Arquivo -Value $NovaLinha
    
            }
    
            
    
        }
    
    
    }


    Fábio de Paula Junior

    sexta-feira, 20 de março de 2015 18:43
    Moderador