Справка по пакетному файлу (для выписки) - PullRequest
0 голосов
/ 13 мая 2011

Мне нужна помощь с этим оператором в тот момент, когда при выполнении в командном файле он запустит все строки текстового файла, например

file1.txt:

notepad
wordpad

, поэтому он запустит:

start notepad
start wordpad

Хотя я хотел бы иметь возможность указать, какую строку он будет выполнять, вместо того, чтобы выполнять их все (что он делает в данный момент)

for /f "delims=|" %%i in (file1.txt) do @start "x" %%i

Любая помощь будет принята с благодарностью

1 Ответ

0 голосов
/ 03 июня 2011

Если вы знаете номер строки, которую хотите запустить, вы можете использовать что-то вроде этого:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...