是否可以在文件中搜索字符串并将文件名显示为批量变量

Is it possible to search string in file and display filename as variable in batch

我正在尝试批量搜索文件,有点像当您在文件夹中时,您可以键入要查找的内容,它会显示该文件中带有该字符串的文件名,但我想将其用作批量变量

有点喜欢

 @echo off
:Start  
Title Details Search

set /P "result1=Number1" 

for /f %%i in ('findstr /i "%result%" "C:\Users\%USERNAME%\Desktop\Folder\*"') do @echo %result1% found in %%~nxi

set /P "result2=Number2: " 

for /f %%i in ('findstr /i "%result2%" "C:\Users\%USERNAME%\Desktop\Folder\*"') do @echo %result2% found in %%~nxi

Pause

它不允许我做不止一个,下面的那个非常好,特别感谢 Gerhard Barnard 但它只有一个

@echo off
:Start  
Title Details Search

set /P "result=what would you want to search today?: " 

for /f %%i in ('findstr /i "%result%" "C:\Users\%USERNAME%\Desktop\Folder\*"') do @echo %result% found in %%~nxi
Pause

我试图得到的结果类似于

鲍勃 543-434-4324 汤姆 234-253-2463

名称是文件名,数字是我输入的。因此,如果我输入数字,它将显示在它找到的文件名旁边 注意-这些不是实数我只是输入了随机数

因此,根据您的问题更改,搜索多个号码。您需要在搜索中添加由空格分隔的文本。即 09122 123441 881992

@echo off
:Start  
Title Details Search

set /P "result=what would you want to search today?: "
for %%a in (%result%) do (
    for /f %%i in ('findstr /i "%%a" "C:\Users\%USERNAME%\Desktop\Folder\*.rtf"') do @echo %%~nxi %%a
)