Board logo

标题: [日期时间] [已解决]批处理如何根据指定文件内是否含有特定内容来执行不同操作? [打印本页]

作者: qq3475534    时间: 2016-4-13 21:05     标题: [已解决]批处理如何根据指定文件内是否含有特定内容来执行不同操作?

本帖最后由 pcl_test 于 2016-4-16 00:24 编辑

判断当前目录ver.db 这个文件里面的内容

2016-02-16 20:30:08 KEY02 //by _Read_DB_All
2016-02-23 20:30:35 KEY02 //by _Read_DB_All
2016-03-01 20:30:39 KEY02 //by _Read_DB_All
2016-03-15 20:31:25 KEY02 //by _Read_DB_All
2016-03-22 20:31:45 KEY02 //by _Read_DB_All
2016-03-29 20:32:01 KEY02 //by _Read_DB_All
2016-04-05 20:32:08 KEY02 //by _Read_DB_All
2016-04-12 20:32:13 KEY02 //by _Read_DB_All

每1分钟判断一次,判断日志文件里面生成的日志,日志在上面
比如这次自动判断4月12号的这个新日志 ,产生了日志后就杀死进程 ABC.EXE 然后在运行当前目录ABC.EXE
如果没有产生新的日志就继续判断,直到新的日志产生。一直循环下去

作者: gawk    时间: 2016-4-13 21:37

  1. @echo off
  2. for /f "delims=" %%i in ('type "ver.db"') do (
  3.     set "strInit=%%i"
  4. )
  5. :loop
  6. for /f "delims=" %%i in ('type "ver.db"') do (
  7.     set "strNow=%%i"
  8. )
  9. if "%strInit%" neq "%strNow%" (
  10.     taskkill /f /im ABC.EXE
  11.     start "" "ABC.EXE"
  12.     set "strInit=%strNow%"
  13. )
  14. timeout /nobreak /t 60 >nul
  15. goto loop
复制代码

作者: qq3475534    时间: 2016-4-14 00:47

回复 2# gawk


    谢谢帮助,完美解决!
作者: qq3475534    时间: 2016-4-16 00:24

本帖最后由 pcl_test 于 2016-4-16 00:31 编辑

回复 2# gawk
上面这段代码更新下下面我说的功能,不知道能实现不都


1.自动获取当前批处理的路径,然后自动创建此批处理快捷方式放在系统注册表启动项,

2.如果已经存在此系统注册表启动项就跳过,不存在就在自动放入,同样也是循环检测

3.同样也是循环检测当前目录Ser_db.dll这个文件是不是只读属性,不是只读属性就设置为只读属性,是只读属性就跳过

4.每次检测到重新结束进程和打开进程,和设置只读属性,并输出详细日志到C:\abc.log   带具体关闭进程,打开进程,设置只读属性 时间日期

这个能完美解决 那就太好啦~~~~~~




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