将查找结果传递给变量

时间:2018-08-06 14:35:53

标签: 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”是否存在。

我在哪里错了?

先谢谢了。

1 个答案:

答案 0 :(得分:1)

您可以使用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"
    )
)