Windows 将find的结果导入变量
我想把find命令的结果转换成一个名为“String3”的变量,如下所示Windows 将find的结果导入变量,windows,batch-file,Windows,Batch File,我想把find命令的结果转换成一个名为“String3”的变量,如下所示 Set String3=0 for /L %%i in (1,1,%index%) do echo !URL[%%i]! | find /I "%String3Search%">nul | ( !String3! ) 然而,我得到以下错误 该命令的语法不正确 索引包含Internet Explorer中打开的网站数。因此,该发现正在确定“String3Search”是否存在 我哪里出了问题 提前谢谢 您可以使用
Set String3=0
for /L %%i in (1,1,%index%) do
echo !URL[%%i]! | find /I "%String3Search%">nul | ( !String3! )
然而,我得到以下错误
该命令的语法不正确
索引包含Internet Explorer中打开的网站数。因此,该发现正在确定“String3Search”是否存在
我哪里出了问题
提前谢谢 您可以使用
FOR/F
命令捕获正在运行的其他命令的结果。还要注意括号的使用
@echo off
setlocal enabledelayedexpansion
Set "String3=0"
set "String3Search=findme"
for /L %%i in (1,1,%index%) do (
FOR /F "delims=" %%G IN ('echo !URL[%%i]! ^| find /I "%String3Search%"') DO (
set "String3=%%G"
)
)
在命令提示符窗口中键入
for/?
,找出语法错误……您需要第二个嵌套的for
命令来捕获find
命令的结果。@Squashman这是什么样子?抱歉,我曾尝试在线阅读,但每篇文章都建议查找文件,而我正在使用索引和网站。@aschipfl我的语法是正确的,因为我相信我正在使用命令扩展名。如果我错了,请纠正我。@Uhujkill,不,你的代码不正确。为了使ECHO
命令在单独的行上工作,需要使用括号。我会在我的答案中更新你的代码。非常感谢。它是有效的,如果它再次出现,我会记住这种格式。再次感谢。