“Findstr”命令变量&文件数与子目录

时间:2013-07-30 10:14:41

标签: batch-file

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

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

它只列出了FILES,但不是它的SUBDIRECTORIES。

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

这里有一些代码/ w PSEUDO

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岁。

2 个答案:

答案 0 :(得分: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"

答案 1 :(得分:0)

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

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

会将findstr个结果存储在tempres.rsm中,并显示找到该字符串的文件。