如何将for循环与find选项连接

问题描述 投票:0回答:2

如何连接

For 循环对文件夹中的所有文件进行查找并在每个字符串中查找,然后将此字符串添加到变量中 我需要文件夹中的文件列表+在包含“字符串”的文件行中查找并给出该行

FOR %%i IN (folder/*.*) DO (
        set var = find "text"
    echo %%i ; var >> db.csv
)
windows batch-file cmd
2个回答
0
投票

未测试:

@echo off
setlocal enableDelayedExpansion
FOR %%i IN (folder/*.*) DO (
    for /f "tokens=* delims=" %%# in ('type %%~fi ^| find "string"') do (
        set "var=%%#"
    )
    echo %%i ; !var! >> db.csv
)

您需要一个延迟扩展和嵌套的for循环将命令的结果分配给变量


0
投票

只需一个命令即可提取相同的数据:

findstr "text" "folder\*" >"db.csv"
(也许使用
/i
开关)。然后将
:
替换为
;
以及周围的
for
循环

(for /f "tokens=1* delims=:" %%a in ('findstr /i "test" "*"') do echo %%a;%%b)>"db.csv"

如果没有 - 请更准确地说明您想要的内容(也许可以举个例子?)。

© www.soinside.com 2019 - 2024. All rights reserved.