我有这个
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
。
如有任何帮助,我们将不胜感激。
从文件中查找字符串,并删除输入字符串。
但结果看起来像“= 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