1

我想知道您是否可以使用“findstr”命令找到一个字符串并将其结果放入一个变量中。它还将显示找到的字符串是什么文件路径。我这样做是为了列出文件及其子目录。

FOR /f "tokens=*" %%P IN ('dir /A-d /b') do echo %%P TO (PSEUDOCODE: TO tempres.rsm)

它只列出文件而不是子目录。

我想要它做的是上面列出的“For”命令输出到一个变量和一个“findstr”命令也输出到另一个变量。

这里有一些代码/w 伪代码

FOR /f "tokens=*" %%P IN ('dir /A-d /b') do echo %%P TO (PSEUDOCODE: TO tempres.rsm)
set /p searchinput="Search Term: "
findstr /f tempres.rsm /c %searchinput%

如果找到或未找到字符串,我希望它通知用户。

谢谢您的合作。

顺便说一句,我还是 11 岁。

4

2 回答 2

0

这里的问题是%found%,如果搜索词有多个匹配项,那么它将是最后一项。

@echo off
dir /a-d /b /s > "tempres.rsm"
set /p "searchinput=Search Term: "
for /f "delims=" %%a in ('findstr /i /L /c:"%searchinput%" "tempres.rsm" ') do set "found=%%a"
echo "%found%"
del "tempres.rsm"
于 2013-07-30T11:53:44.133 回答
0

我不确定你想要什么,但是

SET /P "searchinput=Search Term: "
FOR /R %%i IN (*.*) DO @(FINDSTR "%searchinput%" %%i >>tempres.rsm && ECHO %%i)

findstr结果存储在tempres.rsm并显示找到字符串的文件。

于 2013-07-31T10:36:50.470 回答