用批处理如何获取某个文件的修改日期
卡巴时间更新成功的话会修改based.mft这个文件的时间,我巡检时通过时间判断是否更新成功,这个怎么编写呀?我通过dir保存成1.txt,但怎么获取到他的日期//bas...
卡巴时间更新成功的话会修改based.mft这个文件的时间,我巡检时通过时间判断是否更新成功,这个怎么编写呀?我通过dir保存成1.txt,但怎么获取到他的日期
//based.mft卡巴斯基更新的文件
2010/06/08 12:27 13,850 basecfec.kdc
2010/06/08 12:27 15,293 basecffc.kdc
2016/08/15 02:01 16,875 based.mft
按天更新的,能输出最近更新的时间就可以了 展开
//based.mft卡巴斯基更新的文件
2010/06/08 12:27 13,850 basecfec.kdc
2010/06/08 12:27 15,293 basecffc.kdc
2016/08/15 02:01 16,875 based.mft
按天更新的,能输出最近更新的时间就可以了 展开
2个回答
展开全部
你是想读取based.mft这个文件吗?还是只要最后1个时间?如果只要最后修改的时间,不读文件也行的,直接读based.mft这个文件本身的修改时间即可,用%~t1即可,具体结构如下:
……其他代码……
Call:getLastTime based.mft文件的路径
……其他代码……
goto:eof
:getLastTime
echo %~t1
goto:eof
如果你是想输出最后5行,就得读取based.mft文件了,代码结构如下:
set n=5:这里的5改成3就是最后3行
set /a Line=0
for "usebackq" %%i in ("based.mft文件的路径") do set /a Line+=1
set Line-=%n%
more +%Line% "based.mft文件的路径"
更多追问追答
追问
谢谢答复,是我没表达清楚,我只需要这个文件的最后更新日期,精确到天就可以了,based.mft如果在TXT里怎么弄,因为本来是在文件夹下面,但我用DIR>1.TXT把他放到txt里了,我现在的目的只有一个,就是找到based.mft的最后更新日期(天)可以给我讲下方法吗
追答
那你的那个txt文件里确定是保存了它的最后修改时间吧?那就遍历那个txt文件,用findstr查找。
@echo off
set File=%~1
set Str=based.mft
for /f "usebackq" %%i in (`more "%File%"^|findstr /i "%Str%"`) do echo %%i
但你既然知道这个文件的路径,那么用第1个方法最好,而且你应该看到我是定义了一个“函数”(虽然批处理中没有这个概念),所以在你那个批处理及其父批处理中都可以调用getLastTime函数,输出一个文件的最后修改时间,至于你想只保留到天,直接截断即可。
:getLastTime
for /f "usebackq" %%i in (`echo %~t1`) do echo %%i
goto:eof
展开全部
@echo off
::修改下一行的文件路径
set "f=d:\program files\abcd\based.mft"
echo,今天是:%date%
for %%a in ("%f%") do echo,%f%文件最近更新于:%%~ta
pause
追问
谢谢答复,但我只要最近的更新日期,但这个文件是在TXT里怎么读取set "f=d:\1.txt\based.mft"
追答
@echo off
for /f "tokens=1,4" %%a in (1.txt) do if "%%b"=="based.mft" echo,%%a
pause
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询