web-dev-qa-db-ja.com

バッチを使用してファイル内の行数をカウントする

TrailerCount.batファイルを使用して、以下のコードを使用してテキストファイルの行数をカウントしています

@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%

ここで、最初の入力としてtxtファイルをバッチファイルに渡すとき。それを実行した後、「NOTEPAD」でテキストファイルを開くと正しいテキストファイルの最後の行に8としてトレーラーが表示されます。ただし、「Notepad ++」を使用すると11になります。

Notepad ++に関して正しいトレーラーカウントを取得するために、空の行などをカウントするためにどのような変更を加える必要がありますか?

2
abhayk

バッチファイルは正しく機能しています。 findは行をカウントしませんただし WindowsがありますLFCR*行上の記号。各行の終わりにLFCR記号が含まれるようにテキストファイルを変更する必要があります。

* LFCRLine Feed, Carriage Return

3
td512