У меня есть текстовый файл, и я хочу написать командный файл, чтобы убедиться, что он содержит только одну строку с определенным содержимым без какой-либо новой строки в конце указанной строки.
Сравнение содержимого строкине сложно, так как я могу просто прочитать это в переменную и затем сравнить с тем, что я ожидаю.
Моя проблема в том, чтобы утверждать, что вокруг нет лишних переводов строки.Пока есть только окончания строк Windows (CRLF), я могу сделать это довольно легко, посчитав количество строк, заканчивающихся символом новой строки, аналогично здесь :
Set num_of_endlines=0
For /f "tokens=1 delims=:" %%i in ('FINDSTR /r /n "$" %filepath%') DO (
Set num_of_endlines=%%i
)
Есличто num_of_endlines
равно 0, тогда все хорошо.
Моя проблема в том, что этот метод не работает для концов строк Unix.Я также попытался подсчитать начало строки ("^"
) вместо окончания строки ("$"
).Это улучшило результат, так как теперь ведущие строки переводятся независимо от того, являются ли они CRLF или LF.Но это не захватывает новую строку в конце первой строки (даже не CRLF).Есть ли способ подсчитать количество CRLF и LF в текстовом файле, используя пакетный файл?