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

[文本处理] 批处理怎么每过3分种检测某TXT的大小,大小变化就运行B.BAT?

[复制链接]
发表于 2014-8-25 14:41:27 | 显示全部楼层 |阅读模式
请教怎么每过3分种检测x.TXT文件大小每次检测TXT ,大于上一次,就运行B.BAT
或者每3分种检测 X.txt的行数,只要行数多了就运行B.bat 每天检测只要一多就运行B.bat

麻烦给个例子
发表于 2014-8-25 19:59:28 | 显示全部楼层
举例:
  1. @echo off
  2. for %%a in (a.txt) do set "sz=%%~za"

  3. :Lp
  4. ping>nul -n 180 127.0.1
  5. for %%a in (a.txt) do (
  6.         if "%%~za" NEQ "%sz%" Do Something
  7.         set "sz=%%~za"
  8. )
  9. goto :Lp
复制代码
 楼主| 发表于 2014-8-26 10:00:42 | 显示全部楼层
回复 2# apang



解释下好吗??? B.bat   写在哪里
发表于 2014-8-26 10:22:36 | 显示全部楼层
回复 3# 649918043


    b.bat和2楼代码保存的(假设为a.bat)放在同一个目录。
 楼主| 发表于 2014-8-26 11:30:35 | 显示全部楼层
麻烦解释下  没明白  例如 我要用计划任务来执行,,或者用到第三方来定时3分运行一次,,

怎么写,,没看懂,。,。 b.bat这个,可以让我任意更换运行的bat名称吗???
发表于 2014-8-26 12:43:51 | 显示全部楼层
本帖最后由 Linuxer 于 2014-8-26 12:45 编辑

回复 5# 649918043


    2楼代码里本身带有自动运行,不用计划任务也可以。不关闭cmd窗口,就会一直隔3分钟检测一次大小。
  1. if "%%~za" NEQ "%sz%" Do Something
复制代码
do something换成你需要的执行内容,名称随意,即:
  1. if "%%~za" NEQ "%sz%" b.bat
复制代码
x.txt
2楼代码.bat
b.bat
三个都放在一个文件夹下。
发表于 2014-8-26 16:55:26 | 显示全部楼层
保存为 check_x.txt.bat,双击运行即添加计划任务,每隔三分钟调用一次本 bat
x.bat 的大小将被保存在此 bat 的文件名中...
  1. @echo off
  2. cd /d "%~dp0"
  3. for %%a in (x.TXT) do (
  4.    if %%~za neq %~n0 (
  5.       start "" "你要执行的bat"
  6.       ren "%~0" "%%~za.bat"&&(
  7.           schtasks /delete /tn "check_x.txt"
  8.           schtasks /create /sc minute /mo 20 /tn "check_x.txt" /tr "%%~za.bat"
  9.       )
  10.    )
  11. ) 2>nul
复制代码
发表于 2014-8-28 18:05:44 | 显示全部楼层
二楼的sz是不是写死了?
发表于 2014-8-28 18:07:30 | 显示全部楼层
回复 2# apang


    sz是不是写死了,a.txt如果有变化的话三分钟后执行B.bat,然后再过三分钟对比的还是之前a.txt的大小???
发表于 2014-8-28 18:08:12 | 显示全部楼层
本帖最后由 523066680 于 2014-8-28 18:09 编辑

回复 8# 605389735


    set sz=死了

可能原因是没有开启变量扩展  setlocal enabledelayedexpansion
在for里面要用
!sz! 或者call + %%sz%%
发表于 2014-8-28 18:16:27 | 显示全部楼层
回复 10# 523066680

  应该是没开变量延迟
发表于 2014-8-28 18:33:24 | 显示全部楼层
回复 9# 605389735


    我怎么觉得 sz 活得好好的呢?
发表于 2014-8-28 18:36:59 | 显示全部楼层
回复 12# apang


    嗯,我也觉得不是冰冻的
发表于 2014-8-28 18:39:03 | 显示全部楼层
回复 10# 523066680


    在不同的 for 里分别赋值 sz,不需要开启变量延迟哈~
发表于 2014-8-28 18:40:15 | 显示全部楼层
本帖最后由 523066680 于 2014-8-28 18:44 编辑

回复 14# apang


    有道理。还有个goto :lp来着,不知道楼主为啥说sz 死了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-21 05:04 , Processed in 0.042863 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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