首页 系统 批处理文件 – 如何将今天的日期与文件的上次修改日期进行比较,

批处理文件 – 如何将今天的日期与文件的上次修改日期进行比较,

可以在
Windows系统上获取当前日期以及文件的最后修改日期,例如:

>当前日期:日期/ T.
>上次修改日期:±echo%~tI%(其中%I是FOR循环中的文件)

然而,两者都取决于区域设置,因此需要用其他东西替换它们:

>当前日期:wmic os获取localdatetime
>最后修改日期:???

有人知道如何填写问号吗?

背景信息,想法是获得如下结果:

>当前日期:20170323115047.782000 060
>最后修改日期:20170323120513.0123

砍掉前八个字符(为了得到这一天)

>当前日期:20170323
>最后修改日期:20170323

这使得可以看到文件今天确实已被修改.
我想避免区域设置,以确保我需要切断的字符数量.

解决方法

以下批处理通过wmic输出它自己的lastmodified datetime.

@Echo off&SetLocal
set File=%~f0
:: need to escape \ with another one \\
set File=%File:\=\\%
for /f %%a in (
    'wmic  DataFile where "Name='%File%'" get lastmodified   ^| findstr "^[0-9]" '
) do Echo File:%File% lastmodified:%%a

样本输出

> 12-16.cmd
File:Q:\\Test\\2017-03\\23\\12-16.cmd lastmodified:20170323123900.908030+060

关于作者: dawei

【声明】:乐山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

热门文章