Если вы знаете номер строки, которую хотите запустить, вы можете использовать что-то вроде этого:
for /f "tokens=2* delims=]" %%I in ( ' find /V /N "" file1.txt ^| findstr /B /L "[1]" ' ) do @start "x" %%I
find / V / N "" file1.txt - отображает все строки из file1.txt, которые не являются "" (то есть, в основном, любую строку, которая не является пустой / пустой / пустой), и добавляет числа в виде [#] в строке. Эта команда выведет:
[1] блокнот
[2] wordpad
findstr / B / L "[1]" - Теперь мы используем номера строк для извлечения правильной команды. «/ B» ищет строку в начале строки. «/ L» - это буквальный поиск. В этом примере мы сопоставляем строку # 1, которая возвращает «блокнот» как %% I