[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理如何判断文件变化后输出到控制台?

有一个文本在一直在写入。
是否可以根据MD5或者文件修改时间进行对比。
有变化就输出。没变化就继续对比。

回复 1# 帝尊


把变化后的文本内容输出到控制台吗?
是不是类似于Linux的tail命令,或者试试BareTail这个软件?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复  帝尊
把变化后的文本内容输出到控制台吗?
是不是类似于Linux的tail命令,或者试试BareTail这 ...
Batcher 发表于 2022-3-23 11:30

就是最后一个echo %%i

第一步就是把把一个文本所有内容输出到控制台。
然后获得这个文本的MD5
有一个程序会对这个文本进行修改。
批处理检测到MD5变化后,再把这个文本重新输出到控制台。就这么个东西。
虽然反复刷新清屏也能获得这个效果。
但是我想弄一个MD5检测的方式。
  1. if defined md5 (
  2.     if not "%md5%" == "%md5New%" (
  3.         for /f "skip=1 tokens=1,* delims=" %%i in (%nnn%) do echo %%i & set "%md5New%" = "%md5%"
  4.         FIND /I "Pass" %nnn% >nul 2>nul
  5.         IF "%ERRORLEVEL%"=="0" (
  6.         for /f "skip=1 tokens=1,* delims=" %%i in (%nnn%) do echo %%i
  7.         pause
  8.         exit
  9.     ) else (
  10.         Goto :check
  11.     )
  12. )
复制代码
大佬帮我写一个呗?
让我学学。谢谢了。

TOP

尝试一下用事件来实现
  1. #@&cls&powershell "type %~s0|out-string|iex"&pause&exit
  2. $f=gi 'qwer.txt'
  3. $d=$f.DirectoryName
  4. $fsw = New-Object IO.FileSystemWatcher $d -Property @{
  5.     IncludeSubdirectories = 1
  6.     EnableRaisingEvents = 1
  7. }
  8. Register-ObjectEvent $fsw -EventName Changed -Action {
  9.     $fp=$event.SourceEventArgs.FullPath
  10.     if($fp -eq $f.fullname){cls;gc $f.fullname|write-host}
  11. }
  12. cls
  13. while(1){
  14. Wait-Event -Timeout 1
  15. }
复制代码

TOP

回复 3# 帝尊


推荐试试命令行工具 tail.exe 作用和Linux的tail命令一样:
http://bcn.bathome.net/s/tool/index.html?key=tail
  1. tail.exe -f "1.txt"
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 5# Batcher
试了一下。tail.exe -f -n 100 "P.txt" 我想第一行不显示,但是这个命令好像没这个功能。
而且我比较喜欢默认的CMD。第三方的还是不用了。谢谢了。

TOP

回复 6# 帝尊


    每隔一段时间就会有人冒出来一个跟你差不多的想法,遗憾的是Windows的CMD没有自带这样的命令。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表