|
bibaboemail
新手上路
积分 16
发帖 7
注册 2008-5-5
状态 离线
|
『楼 主』:
求助,如何找出100分钟前修改过的文件呢?
也就是文件的修改时间是100分钟以前的都列出来,在论坛里找了半天,实在没有,大家帮帮想想办法
|
|
2008-5-31 16:45 |
|
|
pusofalse
银牌会员
积分 1604
发帖 646
注册 2008-4-13
状态 离线
|
『第
2 楼』:
思路。。。 当前时间减去100分钟。。。与当前日期一起赋值给n
for /r 遍历整个目录,if "%%~ta" lss "%n%" echo %%a
就是这个思路,想了半天没想出来如何当前时间减去100
|
心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^ |
|
2008-5-31 17:07 |
|
|
bibaboemail
新手上路
积分 16
发帖 7
注册 2008-5-5
状态 离线
|
『第
3 楼』:
是呀,如果正好两天之间,比较麻烦,有个forfile,但是他不能精确到小时,或分钟,只能是天
|
|
2008-5-31 17:22 |
|
|
bibaboemail
新手上路
积分 16
发帖 7
注册 2008-5-5
状态 离线
|
『第
4 楼』:
linux下的find命令有-mmin 参数可以修改,windows真的还不知道怎么办?大家给想想办法
|
|
2008-5-31 17:26 |
|
|
pusofalse
银牌会员
积分 1604
发帖 646
注册 2008-4-13
状态 离线
|
『第
5 楼』:
花了半个多小时~ 终于搞定了~试下可以不
@echo off&setlocal enabledelayedexpansion
set/a n=%time:~3,2%+60
if %n% lss 100 (
set/a n=100-%n%,m=!time:~0,2!-2
set/a n=60-!n!
) else (
set/a n=100-%n%,set/a m=!time:~0,2!-1
set/a n=60-!n!
)
set n=%date:~0,-4% %m%:%n%
for /r c:\ %%a in (*.*) do if "%%~ta" leq "%n% echo %%a
|
心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^ |
|
2008-5-31 17:36 |
|
|
bibaboemail
新手上路
积分 16
发帖 7
注册 2008-5-5
状态 离线
|
|
2008-5-31 17:43 |
|
|
pusofalse
银牌会员
积分 1604
发帖 646
注册 2008-4-13
状态 离线
|
『第
7 楼』:
错了。。。。。 试了下。。。当60+当前时间的分值大于100的情况下 会出错了
|
心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^ |
|
2008-5-31 17:44 |
|
|
bibaboemail
新手上路
积分 16
发帖 7
注册 2008-5-5
状态 离线
|
『第
8 楼』:
哦,我还没有试验到那里呢,。。。。。
|
|
2008-5-31 17:51 |
|
|
pusofalse
银牌会员
积分 1604
发帖 646
注册 2008-4-13
状态 离线
|
『第
9 楼』:
@echo off&setlocal enabledelayedexpansion
if "%time:~3,2%" lss "40" (
set/a n=!time:~3,2!+60
set/a n=100-!n!,m=!time:~0,2!-2
set/a n=60-!n!
) else (
set/a n=100-!time:~3,2!
set/a n=60-!n!
if "!n:~1,1!" equ "" set n=0!n!
set/a m=!time:~0,2!-1
)
set n=%date:~0,-4% %m%:%n%
for /r c:\ %%a in (*.*) do if "%%~ta" leq "%n%" echo %%a
pause
这回对了~
[ Last edited by pusofalse on 2008-5-31 at 06:09 PM ]
|
心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^ |
|
2008-5-31 18:07 |
|
|
26933062
银牌会员
积分 2268
发帖 879
注册 2006-12-19
状态 离线
|
『第
10 楼』:
计算时间还真是麻烦,又要判断是否垮天,还要判断是否00点。
初步测试ok。。望简化。。。
@echo off
for /f "tokens=1-3 delims=-/\:. " %%a in ("%date%") do (
set /a yy=%%a,mm=%%b,dd=100%%c%%100
)
for /f "tokens=1,2 delims=.: " %%a in ("%time%") do (
set /a d=100%%a%%100,s=^(^(d-1^)+24^)%%24,f=100%%b%%100-40
)
if %f% lss 0 set /a s-=1
set /a f=(f+60)%%60
if %s% gtr %d% set /a dd-=1
setlocal enabledelayedexpansion
for %%a in (mm dd s f) do set %%a=0!%%a!&set "%%a=!%%a:~-2!"
endlocal&set "t=%yy%-%mm%-%dd% %s%:%f%"
for /r %%a in (*) do if "%%~ta" leq "%t%" echo del/q "%%a"
pause
|
致精致简! |
|
2008-5-31 18:10 |
|
|
bibaboemail
新手上路
积分 16
发帖 7
注册 2008-5-5
状态 离线
|
『第
11 楼』:
麻烦写一个完整,我主要显示指定目录下,100分钟以前修改过的文件名称
非常感谢
|
|
2008-5-31 18:11 |
|
|
pusofalse
银牌会员
积分 1604
发帖 646
注册 2008-4-13
状态 离线
|
『第
12 楼』:
我的没有判断是否跨天。。。。 也没有判断是否00点。。。建议楼主不要在午夜使用~
|
心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^ |
|
2008-5-31 18:12 |
|
|
bibaboemail
新手上路
积分 16
发帖 7
注册 2008-5-5
状态 离线
|
『第
13 楼』:
不管怎么还是谢谢大家,我先慢慢消化
|
|
2008-5-31 18:17 |
|
|
26933062
银牌会员
积分 2268
发帖 879
注册 2006-12-19
状态 离线
|
『第
14 楼』:
100分钟以前修改过的文件名?
看来我走题了,
我的是显示修改时间小于100分钟以前的文件名。
|
致精致简! |
|
2008-5-31 18:17 |
|
|
wfy150
初级用户
积分 82
发帖 34
注册 2008-4-29 来自 江西
状态 离线
|
『第
15 楼』:
问下这个set/a !变量!中的"!"是怎么用的?
|
|
2008-5-31 18:33 |
|