Batch-Satti
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Batch-Satti

Você não está conectado. Conecte-se ou registre-se

[RESOLVIDO] BATCH que numere cada linha de um arquivo CSV

2 participantes

Ir para baixo  Mensagem [Página 1 de 1]

vinaspsy



Olá a todos,
Vou explicar desde o começo.
Na minha empresa estou desenvolvendo um sistema em PHP/MYSQL para bilhetagem de impressão, instalei em cada máquina um logger de impressão que gera um log CSV de todas as impressões feitas na impressora da rede, tambem criei um vbscript que envia os logs de todos para o servidor de bilhetagem, então para que eu importasse todos os logs para o servidor MYSQL peguei uma batch que combina todos os logs em 1 só pulando os headers das planilhas.
Segue o código .BAT:
Código:
@echo off
setlocal
set first=1
>bilhetagem\importados.csv (
  for %%F in (uploads\*.csv) do (
    if defined first (
      type "%%F"
      set "first="
    ) else more +2 "%%F"
  )
)
Ok, com esse código consegui juntar todos e importar ao servidor, mas para que não duplicasse os logs no servidor coloquei um código na página PHP de importação para que não importasse logs com a mesma data de horário, só que não esta funcionando e duplica vários logs, e o código php esta correto.
De que preciso:
De uma batch que numere linha por linha com uma vírgula do lado desse log (juntado).
Exemplo de parte da minha planilha CSV:
Código:
2013-06-07 09:17:09,Fulano,2,1,Lexmark,"Documeto Qualquer",PC-UM,A4,PCL6,,,NOT DUPLEX,NO GRAYSCALE,450kb,
2013-06-07 09:17:21,Ciclado,1,1,Lexmark,"Outro Documento Qualquer",PC-DOIS,A4,PCL6,,,NOT DUPLEX,NOT GRAYSCALE,469kb,
...
Quero que fique assim:

Código:
1,2013-06-07 09:17:09,Fulano,2,1,Lexmark,"Documeto Qualquer",PC-UM,A4,PCL6,,,NOT DUPLEX,NO GRAYSCALE,450kb,
2,2013-06-07 09:17:21,Ciclano,1,1,Lexmark,"Outro Documento Qualquer",PC-DOIS,A4,PCL6,,,NOT DUPLEX,NOT GRAYSCALE,469kb,
...
Esquero que alguem tenha resposta pois não encontrei nada.

Obrigado.



Última edição por vinaspsy em Dom Jul 21, 2013 10:13 pm, editado 1 vez(es)

Boss-Head

Boss-Head

[Tens de ter uma conta e sessão iniciada para poderes visualizar este link]

Aqui tem o que procura.

vinaspsy



Boss-Head,
Muito obrigado seus códigos ajudaram bastante! 
Eu editei e agora esta funcionando do jeito que eu queria.
Segue abaixo o código editado pra quem esta precisando.


Código:
@echo off
setlocal
set /a linha=0
REM Abaixo entre o sinal maior ">" e abertura de parêntese "(" digite o nome do arquivo que será salvo
>numerados.csv (
REM Entre parêntese "()" digite o nome do arquivo à ser inseridos os números
for /f "tokens=*" %%x in (importados.csv) do (
call :show %%x
)
goto:eof

:show
set /a linha+=1
echo %linha%,%*
goto:Eof
)

Pssn gosta desta mensagem

Conteúdo patrocinado



Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos