首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在批处理的for循环中使用多个查找命令?

如何在批处理的for循环中使用多个查找命令?
EN

Stack Overflow用户
提问于 2018-11-01 13:46:25
回答 1查看 185关注 0票数 1

我有以下代码:

代码语言:javascript
复制
set "string_pdf=<module>PDF-hul</module>"
set string1=Well-Formed and valid
set /a loop100=0

for /f "tokens=*" %%i in ('dir /a-d /b /s %output%') do (
    for /f "tokens=3 delims=>/<" %%p in ('find  "%string_pdf%" "%%i" && find "%string1%" "%%i" ') do (
        echo %%~ni >> %output%\pdf_hul.txt
        set /a loop100+=1
    )
)

我正在查看位于%output%文件夹中的所有xml,并试图在一个xml文件中查找Well-Formed and valid<module>PDF-hul</module>的共存情况。当我只使用一个变量的find命令进行搜索时,这段代码就能工作。但是,当我加上第二个,我得到一个句法错误。

如何在一个xml中同时找到string_pdfstring1 (不在一行中)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-01 14:01:48

你必须逃离&& -> ^&^&但是

不需要使用包含两个字符串的findstr和

成功的条件执行( && ),并抑制findstr的任何输出。

代码语言:javascript
复制
:: Q:\Test\2018\11\01\SO_53102597.cmd
@Echo off
set output=X:\Path
set "string_pdf=<module>PDF-hul</module>"
set string1=Well-Formed and valid
set /a loop100=0

for /f "tokens=*" %%i in ('dir /a-d /b /s "%output%*.xml"') do (
    findstr /IM /c:"%string_pdf%" "%%i" >NUL 2>&1 && (
        findstr /IM /c:"%string1%" "%%i" >NUL 2>&1 && (
            echo %%~ni >> %output%\pdf_hul.txt
            set /a loop100+=1
        )
    )
)
set loop
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53102597

复制
相关文章

相似问题

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