标题: [日期时间] 请教一下获取文件创建日期的BAT脚本 [打印本页]
作者: hawht 时间: 2013-11-7 08:50 标题: 请教一下获取文件创建日期的BAT脚本
请问,如何写一个批处理,
查看一个文件c:\a.txt的创建日期,并与当前日期比较,如果相等继续执行下面的脚本,如果不相等,就直接退出脚本,谢谢。
作者: DAIC 时间: 2013-11-7 09:06
开始
运行
cmd
echo %date%
dir /tc c:\a.txt
把结果贴出来看看
作者: foxJL 时间: 2013-11-7 09:15
- @echo off
- for %%i in (c:\a.txt) do (set d=%%~ti)
- if %d:~,10% equ %date:~,10% (goto start) else (exit)
- :start
- echo,日期相同,继续执行代码
- pause
复制代码
作者: hawht 时间: 2013-11-7 09:43
回复 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之后需要截取日期的值。
作者: hawht 时间: 2013-11-7 09:46
foxJL 发表于 2013-11-7 09:15
提示
C:\Log>b.bat
此时不应有 10date:~。
C:\Log>
请问是什么意思,谢谢。
作者: DAIC 时间: 2013-11-7 09:49
回复 3# foxJL
%%~ti不是创建时间吧
作者: hawht 时间: 2013-11-7 09:55
我用这个可以获取到日期,但显示多了, 是怎么回事呢
@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
作者: foxJL 时间: 2013-11-7 10:14
回复 7# hawht - @echo off
- for /f %%i in ('dir /tc c:\log\a.txt^|find "-"') do (set d=%%i)
- if %d:~,10% equ %date:~,10% (goto start) else (echo,日期不相同&pause&exit)
- :start
- echo,日期相同,继续执行代码
- pause
复制代码
作者: hawht 时间: 2013-11-7 10:39
回复 8# foxJL
这个可以,虽执行 "for /f %%i in ('dir /tw c:\log\a.txt^|find "-"') do ("这段命令不甚理解,但结果可以,谢谢。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |