- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个从远程计算机读取日志的脚本,如果其中出现一些错误,则包含错误的行将被复制到我的计算机的 Test.txt 文件中。在这里,我将执行一些逻辑,例如如果该文件的大小大于 0(这意味着发现了错误),则发送电子邮件。问题是该脚本每次都会发送电子邮件,即使日志只包含 1 个错误。
所以,我想做的是检查我的计算机中的文件的大小是否大于上次的大小。我需要批量或在 java 中执行此操作。
最佳答案
通过将文件大小和/或上次修改时间保存到另一个文件中,并将实际文件大小/上次修改日期与附加文件中保存的字符串进行比较,可以比较自上次检查以来文件大小或上次修改日期。
但更容易用于此目的的是存档属性,如果文件被修改,该属性总是自动设置。因此,所要做的就是在处理文件中的数据后从文件中删除存档属性,然后检查存档属性是否因文件修改而再次设置。
这里是一个示例代码:
@echo off
set "LogFile=C:\Temp\Errors.log"
"%SystemRoot%\system32\attrib.exe" "%LogFile%" | "%SystemRoot%\system32\findstr.exe" /B /L A 1>nul
if errorlevel 1 goto EndBatch
rem The log file has archive attribute set as modified since last check
echo File "%LogFile%" was modified since last check.
rem Remove the archive attribute from log file before reading the
rem contents of the log file and send the error lines via email.
rem Of course the archive attribute can be removed also after the
rem data of the log files were processed by additional batch code.
"%SystemRoot%\system32\attrib.exe" -A "%LogFile%"
:EndBatch
set LogFile=
Windows 标准应用程序 attrib.exe
在输出行的开头输出文件属性,并在一些空格后输出文件名。如果仅设置了存档属性,则输出行以 A
开头;如果为文件设置了存档属性或任何其他属性,则输出行以空格开头。
带有选项 /B
和 /L
的 Windows 标准应用程序 findstr.exe
在行首搜索 A
,如果找到,则以退出代码 0 终止。但是,如果 attrib.exe
的输出行不是以 A
开头,findstr.exe
的返回值为 1,并分配给环境变量 ERRORLEVEL 这意味着未在文件上设置存档属性,因此自上次检查以来该文件没有被修改。
关于java - 如何检查文件的大小是否从上次批量或java中修改过?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24909443/
之前看到一些类似的问题,想弄清楚。 在this article ,据说异步调用“没有线程”。 然而,in another one ,据说 Here, however, we’re running th
我为我公司的平板电脑(SAMSUNG Galaxy Tab Active2)开发了一个简单的软件,自上周五(2018 年 11 月 23 日)以来,它无法正常工作。我检查了该应用程序的所有功能,其中有
我正在使用 hadoop map-reduce 作业进行一些文本处理。我的工作已完成 99.2%,并停留在上一个 map 工作上。 map 输出的最后几行如下所示。上次发生此问题时,我尝试打印出从 m
上次 Ubuntu 更新后有人对 Docker 有疑问吗?我有 2 个由 docker-compose 在 ubuntu18.04 中运行的项目。两个项目都运行良好,但在 *.yml 中进行 0 次更
SQL Developer 在表中显示公共(public)同义词的创建和上次 DDL 时间: CREATED 15-AUG-09 LAST_DDL_TIME 15-AUG-09 O
我正在使用带有以下插件的 mavenized 库项目: com.jayway.maven.plugins.android.generation2
我正在使用 Jssor Slider 作为轮播。在 Google Chrome 上次更新到版本 45.0.2454.85 之前,它一直运行良好。想法是它不显示图像。目前,它们位于标签中,可在 Safa
我是一名优秀的程序员,十分优秀!