2016-12-16 187 views
0

我想问一下在具有条件的文本文件中如何找到字符串(3或5个字)。如果发现字符串,然后某个变量将成为等于1在文本文件上查找字符串 - 批处理文件

方案

我有一个批处理文件将运行的每个上午12:01。这个批处理文件里面有多个命令。请看下面:

  1. 尾记录
  2. 日志检查
  3. Restarter的

尾记录 - 这是第一个函数将在批处理文件运行。它将尾部记录服务器并将日志放在server.log中,并创建另一个日志文件,该日志文件将包含日志的最后两行(temp.log)

日志检查器 - 尾部记录器之后,此功能将运行并会在temp.log中找到某个单词。

例子:

这会找到一个字符串“任务完成”,如果检查发现这个它将使从集合X = 0变量设置X = 1。

谢谢。

回答

1

findstr /?从提示符会引导你。

`findstr /L /c:"The task complete" "logfilename" >nul 

将设置errorlevel到0,如果发现1否则(严格不-0,否则如 “filemissing” 产生错误级别= 2,我相信)

+0

检查这样的:'如果ERRORLEVEL 1(回波ERRORLEVEL是1或更高)&(goto:end)' – Marichyasana

+0

我很少看到FINDSTR返回0或1以外的任何东西。我测试了丢失的文件大小写以及其他许多内容。当正则表达式包含15个以上的字符类术语(一个非常讨厌的错误,需要用户交互来消除弹出窗口)时,我看到的唯一的其他返回值是255。 – dbenham

+1

@dbenham:冲突选项,例如'FINDSTR/l/r“abc”“%filename1%”' – Magoo

相关问题