|
benpaonow
新手上路
积分 16
发帖 7
注册 2008-6-3
状态 离线
|
『楼 主』:
如何判断文件修改时间 并执行自解压文件
如何判断一个文件的修改时间,比如查找c:\windows\syste32\drivers\*.sys的修改时间,1 如果在某天几点之前修改的,就执行别的目录的一个自解压文件,2 如果这个文件是在某天之后修改的则不执行任何文件
这个应该怎么写呀
求高手指教
[ Last edited by benpaonow on 2008-6-3 at 07:35 PM ]
|
|
2008-6-3 19:32 |
|
|
tvzml
初级用户
积分 157
发帖 67
注册 2007-5-13
状态 离线
|
『第
2 楼』:
@echo off
for /f "skip=1 tokens=1,3,5 delims=. " %%a in ('wmic datafile where name^="C:\\WINDOWS\\NOTEPAD.EXE" get CreationDate^,LastAccessed^,LastModified') do set a=%%a & set b=%%b & set c=%%c
echo 文件名称: %WINDIR%\NOTEPAD.EXE
echo 创建时间: %a:~0,4%年%a:~4,2%月%a:~6,2%日, %a:~8,2%:%a:~10,2%:%a:~12,2%
echo 修改时间: %c:~0,4%年%c:~4,2%月%c:~6,2%日, %c:~8,2%:%c:~10,2%:%c:~12,2%
echo 访问时间: %b:~0,4%年%b:~4,2%月%b:~6,2%日, %b:~8,2%:%b:~10,2%:%b:~12,2%
pause
|
|
2008-6-3 21:38 |
|
|
quya
高级用户
五星老土
积分 558
发帖 172
注册 2003-2-9 来自 江苏
状态 离线
|
『第
3 楼』:
他只要修改时间,所以能不用 WMIC (貌似第三方程序?)就不用。
提供一个思路,用FOR语句以及FOR语句中的增强替换变量 %~tI (I 是变量)
至于怎么编, 说实话,我暂时不会,请其他人照我思路编编看, 让我也学习一下,谢谢。
|
我怎么找不到一个比我注册日期早的人? 难道我是传说中的超级管理员? 其实我只是个潜水冠军而已. |
|
2008-6-3 21:45 |
|
|
bat-zw
金牌会员
永远的学习者
积分 3105
发帖 1276
注册 2008-3-8
状态 离线
|
『第
4 楼』:
假设这个时间点是2008年5月14日7点
@echo off
for /f "delims=" %%i in ('dir /s /a-d /b c:\windows\syste32\drivers\*.sys') do call :lp %%~ti
pause>&goto :eof
for /f "tokens=1-5 delims=/:\- " %%i in ("%1") do if "%%i%%j%%k%%l%%m" lss "200805140700" start "" ".........."
此帖被 +3 点积分 点击查看详情 评分人:【 quya 】 | 分数: +2 | 时间:2008-6-3 22:33 | 评分人:【 benpaonow 】 | 分数: +1 | 时间:2008-6-3 23:01 |
|
|
批处理之家新域名:www.bathome.net |
|
2008-6-3 21:52 |
|
|
benpaonow
新手上路
积分 16
发帖 7
注册 2008-6-3
状态 离线
|
『第
5 楼』:
我比较菜 看不明白 请详细说明 主要是想仔细学习批处理
我就是想让程序判断一下比如c:\windows\syste32\drivers\amsint.sys的修改时间,如果这个时间是在特定的一天之前修改的 则运行共享服务器上的一个自解压文件更新这个文件,如果特定的这天之后修改的就无须运行任何命令
[ Last edited by benpaonow on 2008-6-3 at 10:01 PM ]
|
|
2008-6-3 21:57 |
|
|
bat-zw
金牌会员
永远的学习者
积分 3105
发帖 1276
注册 2008-3-8
状态 离线
|
『第
6 楼』:
特定的一天,楼主不会说是在系统时间一天前吧,那又将麻烦几倍了。
[ Last edited by zw19750516 on 2008-6-3 at 10:07 PM ]
|
批处理之家新域名:www.bathome.net |
|
2008-6-3 22:04 |
|
|
benpaonow
新手上路
积分 16
发帖 7
注册 2008-6-3
状态 离线
|
『第
7 楼』:
呵呵 不好意思 我这个文件的修改时间是200805261653 这个时间以前的需要运行自解压文件,如果是这个时间或以后的就不需要
|
|
2008-6-3 22:10 |
|
|
benpaonow
新手上路
积分 16
发帖 7
注册 2008-6-3
状态 离线
|
『第
8 楼』:
wmic后面的语句貌似是wmi服务的语句吧,和SQL的很像
|
|
2008-6-3 22:14 |
|
|
bat-zw
金牌会员
永远的学习者
积分 3105
发帖 1276
注册 2008-3-8
状态 离线
|
『第
9 楼』:
Quote: | Originally posted by benpaonow at 2008-6-3 22:10:
呵呵 不好意思 我这个文件的修改时间是200805261653 这个时间以前的需要运行自解压文件,如果是这个时间或以后的就不需要 |
|
那楼主自己将我上面的代码改一下,同时在"........."中填上完整路径+你要运行的命令就可以了啊。
|
批处理之家新域名:www.bathome.net |
|
2008-6-3 22:16 |
|
|
tvzml
初级用户
积分 157
发帖 67
注册 2007-5-13
状态 离线
|
『第
10 楼』:
要这么麻烦的话,还不如核对MD5,文件大小呢
|
|
2008-6-3 22:29 |
|
|
benpaonow
新手上路
积分 16
发帖 7
注册 2008-6-3
状态 离线
|
『第
11 楼』:
Quote: | Originally posted by zw19750516 at 2008-6-3 10:16 PM:
那楼主自己将我上面的代码改一下,同时在"........."中填上完整路径+你要运行的命令就可以了啊。 |
|
不能用呀 不知道是不是我改的有问题 还是怎么回事
能加我QQ聊吗 852275278
|
|
2008-6-3 22:30 |
|
|
benpaonow
新手上路
积分 16
发帖 7
注册 2008-6-3
状态 离线
|
『第
12 楼』:
Quote: | Originally posted by tvzml at 2008-6-3 10:29 PM:
要这么麻烦的话,还不如核对MD5,文件大小呢 |
|
文件大小101K
|
|
2008-6-3 22:30 |
|
|
quya
高级用户
五星老土
积分 558
发帖 172
注册 2003-2-9 来自 江苏
状态 离线
|
『第
13 楼』:
Quote: | Originally posted by zw19750516 at 2008-6-3 09:52 PM:
假设这个时间点是2008年5月14日7点
[code]
@echo off
for /f "delims=" %%i in ('dir /s /a-d /b c:\windows\syste32\drivers\*.sys') do call :lp %%~ti
pause>&goto :eof
fo ... |
|
虽然暂时看不懂,但我想办法肯定是对的,因为我看到了我想象中的关键字。我加你分。
|
我怎么找不到一个比我注册日期早的人? 难道我是传说中的超级管理员? 其实我只是个潜水冠军而已. |
|
2008-6-3 22:33 |
|
|
HAT
版主
积分 9023
发帖 5017
注册 2007-5-31
状态 离线
|
『第
14 楼』:
Quote: | Originally posted by benpaonow at 2008-6-3 10:30 PM:
不能用呀 不知道是不是我改的有问题 还是怎么回事
能加我QQ聊吗 852275278 |
|
把你修改以后的代码贴出来看看
|
|
|
2008-6-3 23:31 |
|
|
benpaonow
新手上路
积分 16
发帖 7
注册 2008-6-3
状态 离线
|
『第
15 楼』:
Quote: | Originally posted by HAT at 2008-6-3 11:31 PM:
把你修改以后的代码贴出来看看 |
|
@echo off
for /f "delims=" %%i in ('dir /s /a-d /b c:\windows\syste32\drivers\fakedisk.sys') do call :lp %%~ti
pause>&goto :eof
for /f "tokens=1-5 delims=/:\- " %%i in ("%1") do if "%%i%%j%%k%%l%%m" lss "200805261653" start "\\192.168.1.252\save\Update.exe"
|
|
2008-6-4 00:17 |
|