加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 系统 > 正文

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

发布时间:2021-03-07 13:35:07 所属栏目:系统 来源:网络整理
导读:可以在 Windows系统上获取当前日期以及文件的最后修改日期,例如: 当前日期:日期/ T. 上次修改日期:±echo%~tI%(其中%I是FOR循环中的文件) 然而,两者都取决于区域设置,因此需要用其他东西替换它们: 当前日期:wmic os获取localdatetime 最后修改日期

可以在 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:Test2017-032312-16.cmd lastmodified:20170323123900.908030+060

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读