Следующие поля содержат пустые строки:
for /f "tokens=1,* delims=]" %%l in ('type "%inputfile%"^|find /v /n ""') do echo(%%m
Я уверен, вы можете реализовать это самостоятельно?
Цикл for /f
игнорирует пустые строки, поэтому хитрость заключается в том, чтобы не содержать пустых строк. find /n /v ""
предшествует каждой строке с ее номером строки (в формате [1]original line
), поэтому for /f
есть, что обработать. Затем мы используем только строку после первого ]
(второй токен, %%m
здесь), который является вашей исходной строкой.
Вы также должны изменить свою линию
if %%l==!find! (
до
if "%%m"=="!find!" (
, чтобы избежать синтаксических ошибок, когда %%m
пусто. (Кстати: я не вижу причин, чтобы не использовать %find%
здесь)