标题: [日期时间] [已解决]批处理如何根据指定文件内是否含有特定内容来执行不同操作? [打印本页]
作者: 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
- @echo off
- for /f "delims=" %%i in ('type "ver.db"') do (
- set "strInit=%%i"
- )
-
- :loop
- for /f "delims=" %%i in ('type "ver.db"') do (
- set "strNow=%%i"
- )
- if "%strInit%" neq "%strNow%" (
- taskkill /f /im ABC.EXE
- start "" "ABC.EXE"
- set "strInit=%strNow%"
- )
- timeout /nobreak /t 60 >nul
- 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://bbs.bathome.net/) |
Powered by Discuz! 7.2 |