Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 基于搜索字符串的批处理脚本迭代_Windows_Batch File_Oracle11g_Findstr - Fatal编程技术网

Windows 基于搜索字符串的批处理脚本迭代

Windows 基于搜索字符串的批处理脚本迭代,windows,batch-file,oracle11g,findstr,Windows,Batch File,Oracle11g,Findstr,我有一个带有Oracle查询的Program2.bat,它生成一个文件log.txt,其内容结构如下: SQL> SELECT SID, SERIAL#, STATUS, USERNAME, LOGON_TIME FROM GV$SESSION WHERE USERNAME = 'DBADMIN' and status in ('ACTIVE','INACTIVE','KILLED') ; no rows selected SQL> spool off; 或者说: SQL>

我有一个带有Oracle查询的
Program2.bat
,它生成一个文件
log.txt
,其内容结构如下:

SQL> SELECT SID, SERIAL#, STATUS, USERNAME, LOGON_TIME FROM GV$SESSION WHERE USERNAME = 'DBADMIN' and status in ('ACTIVE','INACTIVE','KILLED') ;

no rows selected

SQL> spool off;
或者说:

SQL> SELECT SID, SERIAL#, STATUS, USERNAME, LOGON_TIME FROM GV$SESSION WHERE USERNAME = 'DBADMIN' and status in ('ACTIVE','INACTIVE','KILLED') ;


       SID    SERIAL#    STATUS     USERNAME   LOGON_TI                                         
---------- ---------- ----------   ----------  -------------                                          
      2388         54         Active     DBADMIN     28-FEB-14                                      
      2391         37         Active     DBADMIN      17-FEB-14                                         
      2395        111        Inactive   DBADMIN      28-FEB-14                                          
      2780        325        Killed       DBADMIN      26-FEB-14                                       
      2790        111        Killed       DBADMIN      8-FEB-14                               

5 rows selected.

SQL> spool off
我正在努力实现以下目标:

  • 操作1:调用Program2.bat,它将生成log.txt
  • 操作2:在log.txt中搜索字符串“未选择行”
  • 操作3:如果找到字符串,则调用program1.bat
  • 操作4:如果未找到字符串,请执行以下操作:

  • 再次调用program2.bat并重试

  • 每隔5分钟再次执行操作2(意味着每隔5分钟在log.txt中继续搜索字符串“no rows selected”,直到找到字符串“no rows selected”)


如何在上述脚本中实现行动4的第2点,或者我们是否有其他方法以最简单的方式实现所有目标?

我不理解这个问题?您正在使用sqlplus吗?我想这就是你们需要的。@Alexander.我正在使用Oracle数据库,现在我已经添加了更多有问题的信息。
@echo off
setlocal

Call Program2.bat
>nul findstr /c:"no rows selected" log.txt && (
call program1.bat 
) || (
call program2.bat
)