找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 27457|回复: 8

[日期时间] 请教一下获取文件创建日期的BAT脚本

[复制链接]
发表于 2013-11-7 08:50:51 | 显示全部楼层 |阅读模式
请问,如何写一个批处理,
查看一个文件c:\a.txt的创建日期,并与当前日期比较,如果相等继续执行下面的脚本,如果不相等,就直接退出脚本,谢谢。
发表于 2013-11-7 09:06:32 | 显示全部楼层
开始
运行
cmd
echo %date%
dir /tc c:\a.txt
把结果贴出来看看
发表于 2013-11-7 09:15:11 | 显示全部楼层
  1. @echo off
  2. for %%i in (c:\a.txt) do (set d=%%~ti)
  3. if %d:~,10% equ %date:~,10% (goto start) else (exit)
  4. :start
  5. echo,日期相同,继续执行代码
  6. pause
复制代码
 楼主| 发表于 2013-11-7 09:43:01 | 显示全部楼层
回复 2# DAIC

C:\Log>dir /tc c:\log\a.txt
驱动器 C 中的卷是 winxp
卷的序列号是 2471-5354

c:\log 的目录

2013-11-07  08:53                 4 a.txt
               1 个文件              4 字节
               0 个目录  5,321,834,496 可用字节

C:\Log>echo %date%
2013-11-07

dir之后需要截取日期的值。
 楼主| 发表于 2013-11-7 09:46:10 | 显示全部楼层
foxJL 发表于 2013-11-7 09:15

提示
C:\Log>b.bat
此时不应有 10date:~。

C:\Log>


请问是什么意思,谢谢。
发表于 2013-11-7 09:49:01 | 显示全部楼层
回复 3# foxJL


    %%~ti不是创建时间吧
 楼主| 发表于 2013-11-7 09:55:31 | 显示全部楼层
我用这个可以获取到日期,但显示多了, 是怎么回事呢

@echo off
setlocal enabledelayedexpansion
for /f "skip=2" %%a in ('dir /tc a.txt') do (
set tim=%%a
echo !tim!
)

执行结果
C:\Log>c.bat
C:\Log
2013-11-07
1
0
发表于 2013-11-7 10:14:24 | 显示全部楼层
回复 7# hawht
  1. @echo off
  2. for /f %%i in ('dir /tc c:\log\a.txt^|find "-"') do (set d=%%i)
  3. if %d:~,10% equ %date:~,10% (goto start) else (echo,日期不相同&pause&exit)
  4. :start
  5. echo,日期相同,继续执行代码
  6. pause
复制代码
 楼主| 发表于 2013-11-7 10:39:01 | 显示全部楼层
回复 8# foxJL

这个可以,虽执行 "for /f %%i in ('dir /tw c:\log\a.txt^|find "-"') do ("这段命令不甚理解,但结果可以,谢谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 18:33 , Processed in 0.030992 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表