gpt4 book ai didi

shell - 使用 findstr 查找多个字符串并将文件复制到文件夹的批处理文件

转载 作者:行者123 更新时间:2023-12-02 06:19:51 25 4
gpt4 key购买 nike

我试图在目录中的文件中查找多个字符串,有数千个。我当前运行以下命令来搜索目录:

findstr /s "customerid" *

现在这允许我找到包含该字符串的文件。我通常有两条信息:客户 ID 和事件类型。一名客户最多可以有 30 个关联事件,例如“网站注册”。

我想要做的是,在目录中搜索客户 ID 和事件。然后将文件复制到新位置。这可以在批处理文件中实现吗?

最佳答案

假设您想要查找同时包含单词(本例中的 customerevent)的所有文件,您可以使用以下脚本:

@echo off
setlocal EnableExtensions DisableDelayedExpansion

rem // Define constants here:
set "PATTERN=*.txt"
set "SOURCE=."
set "TARGET=D:\Data"
set "STRING1=customer"
set "STRING2=event"

pushd "%SOURCE%" && (
for /F "delims=" %%F in ('findstr /S /M /I /R /C:"\<%STRING1%\>" "%PATTERN%"') do (
for /F "delims=" %%E in ('findstr /M /I /R /C:"\<%STRING2%\>" "%%F"') do (
ECHO copy "%%E" "%TARGET%\%%~nxE"
)
)
popd
)

endlocal
exit /B

测试完脚本后,删除copy命令前面的大写ECHO!

关于shell - 使用 findstr 查找多个字符串并将文件复制到文件夹的批处理文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39840090/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com