我爱我老婆

findstr中的空格

findstr is a useful command in bat file.

 

for instances:

 

findstr /NI ^error.*: %DEBUG_LOG% 1>nul 2>&1

 

It matches error info via regular expression, if matched, build system will thought the build encountered  a error, but sometimes, some invalid 'error' words will also be matched:

 

 Invalid Errors:

1)      \Constants\ErrorID.cs                    a filename contains 'error' word.

2)      /errorreport:prompt                      a parameter contains 'error' word.

 

Valid Errors:

1)      CSC : error CS2001: Source file user.cs is not exist.

2)      test.cs(25,20): error CS1928: 'User' does not contain a definition for 'FindUser'

 

 

After the command be changed to below, just match the valid errors and ignore invalid errors

findstr /NI /C:": error " %DEBUG_LOG% 1>nul 2>&1

 

why we need to use /C?

Use spaces to separate multiple search strings unless the argument is prefixed
with /C.  For example, 'FINDSTR "hello there" x.y' searches for "hello" or
"there" in file x.y.  'FINDSTR /C:"hello there" x.y' searches for
"hello there" in file x.y.

 

posted @ 2011-06-07 14:40  DataFlow  阅读(1143)  评论(0编辑  收藏  举报