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

[日期时间] 批处理如何比较两个文件时间先后,并决定是否执行后续文件?

各位大神,有个问题想请教一下:

我有两个文件:一个是run.tab, 一个是run.exe; 我的批处理命令中需要下面的一个判断:
(1)当run.tab的时间比run.exe更新,就需要重新编译run.exe,再运行后续程序;
(2)当run.tab的时间比run.exe更旧,就不再编译run.exe,直接运行后续程序;

目前的困难是只会比较两个时间是否相同,但不会比较其先后,请大神们指导一下。

如果有比较便捷的方式最好,多多谢!

太感谢了!!!大家的回答都非常好,特别感谢77七、aloha20200628、newswan

TOP

啥时间??

TOP

回复 1# delab-1
  1. @echo off
  2. for /f "tokens=1,2 delims=/" %%a in ("run.tab/run.exe") do (
  3. if "%%~ta" gtr "%%~tb" (echo,需要重新编译run.exe,再运行后续程序) else (echo,直接运行后续程序)
  4. )
  5. pause&exit/b
复制代码

TOP

如果在同一目录下,用 dir /od 按日期排序,获取最新的一个,精确度可能高点
  1. @echo off
  2. for /f "delims=" %%i in ('dir /b /a-d /od "run.tab" "run.exe"') do (
  3. set str=%%i
  4. )
  5. if "%str%" equ "run.tab" (
  6. echo 需要重新编译run.exe
  7. )
  8. pause
复制代码
bat小白,请多指教!谢谢!

TOP

  1. dir /s /od run.tab run.exe
复制代码
最后的,就是最新的

TOP

返回列表