从文件中以空格分隔的行获取字符串,前提是该行引导字符串

问题描述 投票:0回答:1

我有这个

text.txt
文件:

AAA = 111
BBB = 222
CCC = 333
DDD = 444

我正在尝试将第三个空格分隔字段相对于现有第一个字段的值分配为变量,作为用户输入接收。

我尝试了

findstr
实用程序,如下:

@echo off
set /P input=Input: 
>%TEMP%\foo.tmp findstr %input% text.txt
<%TEMP%\foo.tmp set /p var1=
echo Result is %var1%
pause

并已收到:

Result is AAA = 111

但是我想要得到的是:当用户输入

AAA
时,我希望返回的是
111

如有任何帮助,我们将不胜感激。

batch-file
1个回答
0
投票

从文件中查找字符串,并删除输入字符串。 但结果看起来像“= Value”,所以我删除了前 2 个字符。
这可能是更好的方法,但这是我最好的方法。

@echo off

setlocal EnableDelayedExpansion

set /P input=Input: 
set secondString= =
set target=%input%%secondString%

>%TEMP%\foo.tmp findstr /C:"%target%" text.txt
<%TEMP%\foo.tmp set /p var1=

set "replaced_var1=!var1:%target%!"
set "replaced_var1=!replaced_var1:~2!"

echo Result is %replaced_var1%
pause

endlocal
© www.soinside.com 2019 - 2024. All rights reserved.