Простое решение
for /f "tokens=3" %%a in (database.txt) do set word3=%%a
После этого оператора переменная %word3%
будет содержать третье слово из строки в файле. Если файл содержит более одной строки, вы получите третье слово из последней строки, которая содержит не менее трех слов; команда set word3=%%a
(после ключевого слова do
) будет выполняться с %%a
установленным на третье слово из каждой такой строки.
Если вы решите, что хотите выполнить более одной команды в строке, используйте следующий синтаксис:
for /f "tokens=3" %%a in (database.txt) do (
...
команды, ссылающиеся на %%a
...
)
Редактировать: Как указано выше, код (команды) в блоке после do
выполняется для каждой квалифицирующей строки. Если вы хотите «поймать» только первую такую строку, вы можете сделать это, просто добавив логику фильтрации, например:
setlocal enabledelayedexpansion
set first=1
for /f "tokens=3" %%a in (database.txt) do (
if !first! == 1 (
set first=0
...
команды, ссылающиеся на %%a
...
)
)
Вы можете заменить a
(в %%a
) любой буквой, но это должна быть только одна буква; это не нормальная переменная.