Командный файл — поиск строки после пробела в текстовом файле

#batch-file #findstr

#пакетный файл #findstr

Вопрос:

Интересно, может ли кто-нибудь помочь мне с этим?

Мне нужен способ в пакетном файле присвоить переменную строке в текстовом файле.

Мой текстовый файл выглядит следующим образом (имя пользователя — пробел — затем почтовый индекс):

Почтовый индекс
пользователя 1 Почтовый индекс пользователя 2 Почтовый индекс Пользователя 3 почтовый индекс Пользователя 3 почтовый
индекс

В принципе, я знаю, что могу использовать команду findstr для поиска пользователя, но мне нужен какой-то способ заставить findstr просмотреть запись почтового индекса для этого пользователя, а затем присвоить ее переменной в пакетном файле. Я уверен, что должен быть способ заставить findstr найти пробел после пользователя, а затем посмотреть почтовый индекс.

Любая помощь приветствуется.

Спасибо.

Ответ №1:

 @echo off
for /F "tokens=1,2" %%a in (filename.txt) do if %1 == %%a set postcode=%%b amp; goto found
echo User name not found!
goto :eof
:found
  

Предыдущий пакетный файл ищет имя пользователя, указанное в первом параметре, и присваивает почтовый индекс переменной «почтовый индекс».

Ответ №2:

Все, что вы когда-либо хотели знать о работе со строками в пакетных файлах.

http://www.dostips.com/DtTipsStringManipulation.php

Теперь вопрос в том, должен ли это быть пакетный файл по какой-либо конкретной причине?