Підраховуйте кількість рядків у файлі, використовуючи пакет


2

Я використовую файл 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 як перший вхідний пакетний файл. Після запуску, його дає мені Трейлер як 8 в останньому рядку текстового файлу, який є правильним, якщо ми відкриваємо текстовий файл з "NOTEPAD". Але використання "Notepad ++" має бути 11.

Які зміни мені потрібно зробити, щоб порахувати порожні рядки, і т.д., щоб отримати правильний рахунок причепа по відношенню до Notepad ++ ???

Відповіді:


3

Пакетний файл працює правильно. find не буде рахувати лінію хіба що вона має Windows LFCR* символи на лінії. Необхідно змінити текстовий файл, щоб мати LFCR символи в кінці кожного рядка.

* LFCR є Line Feed, Carriage Return.


@abhayk, якщо у файлі немає символів передачі рядків (LF) і символів повернення каретки (CR), що використовуються Microsoft Windows, оскільки він був створений на комп'ютері з іншою операційною системою, наприклад Linux, OS X і т.д. можна конвертувати з новий рядок представлення на іншій ОС з використанням методів, згаданих у Команда Windows для перетворення unix eol на windows eol
moonpoint
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.