使用Windows批处理脚本获取两个时间戳之间的文件夹中的文件

时间:2014-12-08 14:28:15

标签: batch-file timestamp

我有一个文件夹'脚本'。人们将文件签入此文件夹。每次他们办理登机手续时,我都需要单独获取这些文件并执行它们。为此,需要将当前时间戳保存在某个日志文件中。这样我们就可以通过比较当前时间和上次执行时间(保存在日志文件中)来获取上次构建后修改的文件。让我清楚地解释一下。

文件夹名称 - 脚本。
这个文件夹中有三个文件 - a.sql,b.sql,c.sql


几个小时后 - 创建了两个新文件。 b.sql也被修改了。 共有五个文件 - a.sql,b.sql,c.sql,d.sql,e.sql


现在我只需要执行那两个新文件和一个修改过的文件 它应该像下面一样 b.sql
d.sql
e.sql


我们需要将当前时间与上次执行时间进行比较,并获取在两个时间戳之间修改/创建的文件。

有人可以告诉我如何使用批处理脚本吗?

1 个答案:

答案 0 :(得分:0)

对于更简单的方法,您可能需要考虑使用分配给文件的 Archive 位。创建或更新文件时,将设置为1 / ON。

您的想法是在设置存档位的文件夹中查找文件,然后在重置之前执行操作。

REM Process all files which have the Archive bit set.
FOR /F "usebackq tokens=* delims=" %%A IN (`DIR "C:\Dir\To\Process" /A:A /B`) DO (
    ECHO Processing File: "%%A"

    REM Do your actions here...

    REM Reset the Archive bit.
    ATTRIB -A "%%A"
)