|
yhshiro
初级用户
积分 130
发帖 59
注册 2007-12-25
状态 离线
|
『楼 主』:
求根据时间删除文件:删除创建日期大于1天文件
如题:我想把我某个盘内 创建日期大于1天的文件删除掉。。。只要是大于一天的文件,不管什么格式都删除掉。。。
谁能弄个批处理给我用用啊??
───────────────── 版务记录 ─────────────────
执行:HAT
操作:在帖子标题中增加搜索关键字
说明:原标题"求一个根据时间删除文件的批处理"不利于论坛搜索
───────────────── 版务记录 ─────────────────
[ Last edited by HAT on 2008-9-27 at 10:20 ]
|
|
2008-2-10 03:11 |
|
|
terse
银牌会员
积分 2404
发帖 946
注册 2005-9-8
状态 离线
|
『第
2 楼』:
前两天发在论坛上说测试不成功 你在看看
@echo off
SET/p TT=输入天数:
SET/p PH=输入路径:
set p1=%date:~0,4%
set p2=%date:~5,2%
set p3=%date:~8,2%
setlocal enabledelayedexpansion
for /l %%a in (1,1,3) do (
for /f "delims=0 tokens=*" %%i in ("!p%%a!") do set p%%a=%%i
)
if %p3% gtr %TT% goto ppp
:nxt
set/a p2-=1
if %p2% equ 0 set/a p1-=1&&set p2=12
SET/a PN1=%p1%%%4
set PN2=28
if %PN1% EQU 0 set pN2=29
for /f "tokens=%p2%" %%i in ("31 %pN2% 31 30 31 30 31 31 30 31 30 31") do set/a p3=%p3%+%%i
if %p3% leq %tt% goto nxt
:ppp
set/a p3=%p3%-%tt%
set p2=0%p2%
set p2=%p2:~-2,2%
set p3=0%p3%
set p3=%p3:~-2,2%
for %%i in ("%PH%\*") do set t=%%~ti &&call :loop "%%~fi"
pause
goto :eof
:loop
if not "%~1" == "%~f0" (
IF %p1%%p2%%p3% gtr %t:~0,4%%t:~5,2%%t:~8,2% echo del "%~1"
)
|
简单!简单!再简单! |
|
2008-2-10 03:33 |
|
|
yhshiro
初级用户
积分 130
发帖 59
注册 2007-12-25
状态 离线
|
|
2008-2-11 00:11 |
|
|
terse
银牌会员
积分 2404
发帖 946
注册 2005-9-8
状态 离线
|
『第
4 楼』:
Quote: | Originally posted by yhshiro at 2008-2-11 00:11:
不行,能显示删除,但是删除不了 |
|
去掉 echo del "%~1" 改为 del "%~1"
|
简单!简单!再简单! |
|
2008-2-11 01:51 |
|
|
yhshiro
初级用户
积分 130
发帖 59
注册 2007-12-25
状态 离线
|
『第
5 楼』:
还是不行....现在连显示都不显示了,直接完啦./.
|
|
2008-2-11 20:27 |
|
|
terse
银牌会员
积分 2404
发帖 946
注册 2005-9-8
状态 离线
|
『第
6 楼』:
先前能显示的时候 显示的是什么内容?可否发上来?
|
简单!简单!再简单! |
|
2008-2-11 20:40 |
|
|
yhshiro
初级用户
积分 130
发帖 59
注册 2007-12-25
状态 离线
|
『第
7 楼』:
显示,要删除的文件名
del "f:\XXXXXXX.XX"
就是这样的内容
|
|
2008-2-11 21:02 |
|
|
yhshiro
初级用户
积分 130
发帖 59
注册 2007-12-25
状态 离线
|
『第
8 楼』:
现在好了,可以用...
但是之能删除指定盘下的文件,不能删除文件夹内的文件
|
|
2008-2-11 21:05 |
|
|
terse
银牌会员
积分 2404
发帖 946
注册 2005-9-8
状态 离线
|
『第
9 楼』:
这样呢?
Quote: | Originally posted by yhshiro at 2008-2-11 21:05:
现在好了,可以用...
但是之能删除指定盘下的文件,不能删除文件夹内的文件 |
|
@echo off
:st
cls
SET/p TT=输入天数:
SET/p PH=输入路径:
if "%tt%" =="" echo 天数不能为空&pause&goto st
if "%ph%" =="" echo 路径不能为空 &pause&goto st
echo %tt%|findstr "^[1-9][0-9]*$">nul&&goto ys||echo 天数只能是1-9&pause&goto st
:ys
set p1=%date:~0,4%
set p2=%date:~5,2%
set p3=%date:~8,2%
setlocal enabledelayedexpansion
for /l %%a in (1,1,3) do (
for /f "delims=0 tokens=*" %%i in ("!p%%a!") do set p%%a=%%i
)
if %p3% gtr %TT% goto ppp
:nxt
set/a p2-=1
if %p2% equ 0 set/a p1-=1&&set p2=12
SET/a PN1=%p1%%%4
set PN2=28
if %PN1% EQU 0 set pN2=29
for /f "tokens=%p2%" %%i in ("31 %pN2% 31 30 31 30 31 31 30 31 30 31") do set/a p3=%p3%+%%i
if %p3% leq %tt% goto nxt
:ppp
set/a p3=%p3%-%tt%
set p2=0%p2%
set p2=%p2:~-2,2%
set p3=0%p3%
set p3=%p3:~-2,2%
for /r "%ph%" %%i in (*.*) do call :loop "%%~fi"
pause
goto :eof
:loop
if not "%~1" == "%~f0" (
IF %p1%%p2%%p3% gtr %t:~0,4%%t:~5,2%%t:~8,2% del %1
)
[ Last edited by terse on 2008-2-11 at 09:28 PM ]
|
简单!简单!再简单! |
|
2008-2-11 21:17 |
|
|
yhshiro
初级用户
积分 130
发帖 59
注册 2007-12-25
状态 离线
|
『第
10 楼』:
再给个简单点的吧,
我就要个运行后删除f:\下所有文件大于1天的文件,包括文件夹内的....
谢谢了哈....
我不回批处理
|
|
2008-2-11 21:26 |
|
|
yhshiro
初级用户
积分 130
发帖 59
注册 2007-12-25
状态 离线
|
『第
11 楼』:
The filename, directory name, or volume label syntax is incorrect.
什么意思....
|
|
2008-2-11 21:44 |
|
|
terse
银牌会员
积分 2404
发帖 946
注册 2005-9-8
状态 离线
|
『第
12 楼』:
@echo off
SET TT=1
set p1=%date:~0,4%
set p2=%date:~5,2%
set p3=%date:~8,2%
setlocal enabledelayedexpansion
for /l %%a in (1,1,3) do (
for /f "delims=0 tokens=*" %%i in ("!p%%a!") do set p%%a=%%i
)
if %p3% gtr %TT% goto ppp
:nxt
set/a p2-=1
if %p2% equ 0 set/a p1-=1&&set p2=12
SET/a PN1=%p1%%%4
set PN2=28
if %PN1% EQU 0 set pN2=29
for /f "tokens=%p2%" %%i in ("31 %pN2% 31 30 31 30 31 31 30 31 30 31") do set/a p3=%p3%+%%i
if %p3% leq %tt% goto nxt
:ppp
set/a p3=%p3%-%tt%
set p2=0%p2%
set p2=%p2:~-2,2%
set p3=0%p3%
set p3=%p3:~-2,2%
for /r "f:\" %%i in (*.*) do set t=%%~ti &&call :loop "%%~fi"
pause
goto :eof
:loop
if not "%~1" == "%~f0" (
IF %p1%%p2%%p3% gtr %t:~0,4%%t:~5,2%%t:~8,2% del %1
)
|
简单!简单!再简单! |
|
2008-2-11 21:45 |
|
|
yhshiro
初级用户
积分 130
发帖 59
注册 2007-12-25
状态 离线
|
『第
13 楼』:
谢谢阿,已经可以用了~~~
多谢
|
|
2008-2-11 21:48 |
|
|
zcnvnv
初级用户
积分 114
发帖 36
注册 2007-12-22
状态 离线
|
『第
14 楼』:
用for取dir的日期和文件名,判断,该删的del 文件名,不该删的过。
|
|
2008-2-12 18:18 |
|