Как прочитать любой текст после знака =, сохраненного в файле - PullRequest
4 голосов
/ 16 декабря 2008

Я работаю над некоторым командным файлом. Мне нужно прочитать имя из некоторого текстового файла. Позвольте мне объяснить это

У меня есть один файл File.txt, который имеет запись типа FirstName=John. Теперь мой пакетный файл должен читать текст John из файла, и я должен иметь возможность хранить John в некоторой переменной.

Но со следующим кодом, если я использую delims==, я могу получить FirstName текст, сохраненный в некоторой переменной, но не John.

for /F "delims==" %%I in (File.txt) do set Title=%%I
echo %Title%

Есть ли способ, где я могу получить John из моего File.txt и сохранить его в моем цикле for?

Ответы [ 2 ]

2 голосов
/ 16 декабря 2008
@echo off
setlocal
for /F "tokens=1,2 delims==" %%a in (File.txt) do set Title=%%b
echo %Title%

Извлекает ли первое имя в Title ... но только для последней строки, содержащей Firstname!

@echo off
setlocal
for /F "tokens=1,2 delims==" %%a in (File.txt) do (
    set t=%t% %%b
)
echo %t:Firstname=%

Объединяет ли все найденные имена.

0 голосов
/ 17 декабря 2008

Ваша проблема в том, что John - это второй найденный токен, Firstname - первый найденный токен. У вас есть много вариантов.

  • Вы можете использовать tokens=2, чтобы пропустить первый токен и получить только второй токен в переменную %%I. Никакая другая переменная не генерируется.
  • Вы можете использовать переменную %%J (которая генерируется автоматически), которая содержит второй токен. %%K будет содержать 3-й токен и т. Д.
  • Вы можете использовать tokens=2*, чтобы пропустить первый токен и получить все последующие токены в переменные I, J, K и т. Д.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...