首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从原始字符串批处理脚本中查找多个字符串匹配

从原始字符串批处理脚本中查找多个字符串匹配
EN

Stack Overflow用户
提问于 2022-04-20 06:19:41
回答 1查看 509关注 0票数 0

目前,我在一个文件夹中有一个文件列表,需要迭代并排除与模式匹配的非生产文件。如何在批处理命令中搜索多个字符串?

例如,我将文件作为

  • QA_test_1.txt
  • QA_809_test.txt
  • dev_93439_sd.txt
  • stg_abc_sldkf_df.txt
  • prod_4845_sdfd.txt
  • prod_998_sdfd.txt
  • live_lskd_sd3434.txt
  • xyz_sdfdf_s3rer.txt

从上面的列表中,我需要排除每个包含"dev",QA "Stg“的文件,并生成一个没有它们的文件列表--这是

  • prod_4845_sdfd.txt
  • prod_998_sdfd.txt
  • live_lskd_sd3434.txt
  • xyz_sdfdf_s3rer.txt

问题是-我无法找到任何可以对多个字符串执行等效grep的批处理命令。FindStr只对一个字符串执行此操作,因此我无法执行该操作。这是我的代码

代码语言:javascript
复制
set i=0
for /F "delims=" %%a in ('dir /B /A /S Path *.txt') do (
   set /A i+=1
rem put the file names in array
   set list[!i!]=%%~na
rem try to find the file names 
echo %%~na|find "dev" or "qa" or "stg" >nul
if errorlevel 1 (echo notfound) else (echo found %%~na )
  
)
EN

Stack Overflow用户

回答已采纳

发布于 2022-04-26 15:37:59

谢谢你的回应。我可以在下面这样做

代码语言:javascript
复制
echo %%~na|findstr /i /v "dev QA Stg" >nul
if errorlevel 1 (echo not found %%~na) else (echo %%~na>>newfile.txt)
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71934979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档