Board logo

标题: [文本处理] 批处理使用findstr命令如何实现判断多个指定字符串是否同时存在 [打印本页]

作者: dreammmm    时间: 2016-8-4 13:29     标题: 批处理使用findstr命令如何实现判断多个指定字符串是否同时存在

本帖最后由 pcl_test 于 2016-8-5 19:42 编辑

求助:::
SVN  强制按样式 如下注释 :
@echo off
setlocal
set REPOS=%1
set TXN=%2
rem check that logmessage contains at least 20 characters
rem .....代表5个字符
svnlook log "%REPOS%" -t "%TXN%" | findstr "维护单号 需求ID 问题描述 修改相关文件" > nul
endlocal
if %errorlevel% gtr 0 goto err
exit 0
:err
echo 请填写Log!!!日志格式具体如下: 1>&2   
echo 【维护单号】: 1>&2     
echo 【需求ID】: 1>&2   
echo 【问题描述】: 1>&2  
echo 【修改相关文件】: 1>&2  
exit 1

怎样才能做到  findstr 多个字符串都被匹配到?
作者: gawk    时间: 2016-8-4 20:47

svnlook log "%REPOS%" -t "%TXN%" | findstr /i /c:"维护单号" /c:"需求ID" /c:"问题描述" /c:"修改相关文件"
作者: WHY    时间: 2016-8-4 21:30

  1. for %%i in ("维护单号" "需求ID" "问题描述" "修改相关文件") do (
  2.     findstr /i "%%~i" a.log || set flag=1
  3. )
  4. if defined flag echo error
复制代码

作者: dreammmm    时间: 2016-8-5 09:53

回复 2# gawk


    还是不行啊兄弟,匹配第一个字符串的时候就可以提交了。
作者: gawk    时间: 2016-8-6 10:08

  1. svnlook log "%REPOS%" -t "%TXN%" | findstr "维护单号" | findstr "需求ID" | findstr "问题描述" | findstr "修改相关文件"
复制代码

作者: wskwfkbdn    时间: 2016-8-6 17:21

最佳答案
findstr /i /r "维护单号 需求ID 问题描述 修改相关文件"
作者: GNU    时间: 2016-8-6 20:36

回复 6# wskwfkbdn


    理解错楼主的意思了,请看4楼描述。
作者: wskwfkbdn    时间: 2016-8-7 21:45

回复 7# GNU


    恩




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2