#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
Теперь вопрос в том, должен ли это быть пакетный файл по какой-либо конкретной причине?