batch-file - Cmd:比较两个文件日期
问题描述
在 cmd 脚本中(这与批处理脚本相同吗?)我只想在file1
比file2
. 这两个文件都位于同一目录中。
我在SO上发现了很多 东西 ,但没有一个完全符合我的需要,或者以非常迂回的方式进行,或者不考虑本地化。
就像这样:
if "%file1%" is_newer_than "%file2%" (
execute command
)
- 我不想找到哪个文件更新。
- 我不想找到最新文件的日期。
- 它必须与语言环境无关,因此不允许对格式化日期进行字符串操作!(该脚本将在全球范围内使用)
- 该命令本身不支持日期,不像
xcopy
.
这个答案看起来最有希望,但我不知道如何在if
语句中使用该函数两次。
解决方案
dir /b /a:-d /o:d /t:w %file1% %file2%
应该按写
/o:-d
反向排序的时间对文件进行排序
for /f "tokens=*" %%? in ('dir /b /a:-d /o:d /t:w %file1% %file2%') do echo %%~tf?
带有时间戳的示例显示
推荐阅读
- bash - 为什么从 Debian 服务启动 shell 脚本不像命令行?
- java - Android绑定服务回调从未触发
- video.js - Brightcove 播放器用播放和暂停图像替换 controlbar paly 和暂停按钮
- java - 激活 REST 时设置调用者主体
- java - 在 Java 中使用 tink 时解密错误
- javascript - 如何在 laravel foreach 循环中创建 javascript 函数
- swift - 在 Swift 中将图像和标题从数组(image_url)迭代和加载到 ViewController 中的正确方法
- awk - 使用 awk 根据条件打印文本
- graph-databases - 在遍历中排除顶点及其子节点 [Gremlin API]
- sql - 在不相等的列上连接两个表