找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 22770|回复: 3

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

[复制链接]
发表于 2016-4-13 21:05:14 | 显示全部楼层 |阅读模式
本帖最后由 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
如果没有产生新的日志就继续判断,直到新的日志产生。一直循环下去

评分

参与人数 1PB -4 收起 理由
pcl_test -4 勿发笼统的标题

查看全部评分

发表于 2016-4-13 21:37:32 | 显示全部楼层
  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
复制代码
 楼主| 发表于 2016-4-14 00:47:49 | 显示全部楼层
回复 2# gawk


    谢谢帮助,完美解决!
 楼主| 发表于 2016-4-16 00:24:45 | 显示全部楼层
本帖最后由 pcl_test 于 2016-4-16 00:31 编辑

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


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

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

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

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

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

评分

参与人数 1PB -30 收起 理由
pcl_test -30 未按版规发帖,勿重复贴码

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 20:01 , Processed in 0.009855 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表