Contar o número de linhas no arquivo usando lote

2

Estou usando o arquivo TrailerCount.bat para contar o número de linhas no arquivo de texto usando o código abaixo mencionado

@Echo off
::set newline=^& echo.

SET FilePath=%1

Set /a _Lines=0

For /f %%j in ('Type %FilePath%^|Find "" /v /c ') Do Set /a _Lines=%%j

(
echo TRAILER %_Lines% 
)>>%FilePath%

Aqui, quando estou passando o arquivo txt como uma primeira entrada para o arquivo em lote. Depois de executá-lo, está me dando o Trailer como 8 na última linha do arquivo de texto, o que é correto se abrirmos o arquivo de texto com "NOTEPAD". Mas usando "Notepad ++" deve ser 11.

Quais mudanças eu preciso fazer para contar linhas vazias, etc para obter contagem de trailers correta em relação ao Notepad ++ ??

    
por abhayk 31.07.2015 / 12:58

1 resposta

3

O arquivo em lote está funcionando corretamente. find não contará uma linha a menos que tenha os símbolos LFCR* do Windows na linha. Você precisa alterar o arquivo de texto para ter os símbolos LFCR no final de cada linha.

* LFCR é Line Feed, Carriage Return .

    
por 31.07.2015 / 13:05