![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-07 12:48 |
共 48,040 主题排行 / 350,125 发帖 / 今日 0 篇 / 48,252 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 求根据时间删除文件:删除创建日期大于1天文件 |
| 可打印版本 1,631 / 13 |
| 第1楼 yhshiro | 发表于 2008-02-10 03:11 |
| 初级用户 发帖 59 积分 130 | |
|
求根据时间删除文件:删除创建日期大于1天文件 如题:我想把我某个盘内 创建日期大于1天的文件删除掉。。。只要是大于一天的文件,不管什么格式都删除掉。。。
谁能弄个批处理给我用用啊?? ───────────────── 版务记录 ───────────────── 执行:HAT 操作:在帖子标题中增加搜索关键字 说明:原标题"求一个根据时间删除文件的批处理"不利于论坛搜索 ───────────────── 版务记录 ───────────────── [ Last edited by HAT on 2008-9-27 at 10:20 ] |
|
| 第2楼 terse | 发表于 2008-02-10 03:33 |
| 银牌会员 发帖 946 积分 2,404 | |
|
前两天发在论坛上说测试不成功 你在看看
@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" ) |
|
| 第3楼 yhshiro | 发表于 2008-02-11 00:11 |
| 初级用户 发帖 59 积分 130 | |
|
不行,能显示删除,但是删除不了
|
|
| 第4楼 terse | 发表于 2008-02-11 01:51 |
| 银牌会员 发帖 946 积分 2,404 | |
Originally posted by yhshiro at 2008-2-11 00:11: 去掉 echo del "%~1" 改为 del "%~1" |
|
| 第5楼 yhshiro | 发表于 2008-02-11 20:27 |
| 初级用户 发帖 59 积分 130 | |
|
还是不行....现在连显示都不显示了,直接完啦./.
|
|
| 第6楼 terse | 发表于 2008-02-11 20:40 |
| 银牌会员 发帖 946 积分 2,404 | |
|
先前能显示的时候 显示的是什么内容?可否发上来?
|
|
| 第7楼 yhshiro | 发表于 2008-02-11 21:02 |
| 初级用户 发帖 59 积分 130 | |
|
显示,要删除的文件名
del "f:\XXXXXXX.XX" 就是这样的内容 |
|
| 第8楼 yhshiro | 发表于 2008-02-11 21:05 |
| 初级用户 发帖 59 积分 130 | |
|
现在好了,可以用...
但是之能删除指定盘下的文件,不能删除文件夹内的文件 |
|
| 第9楼 terse | 发表于 2008-02-11 21:17 |
| 银牌会员 发帖 946 积分 2,404 | |
|
这样呢?
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 "^*$">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 ] |
|
| 第10楼 yhshiro | 发表于 2008-02-11 21:26 |
| 初级用户 发帖 59 积分 130 | |
|
再给个简单点的吧,
我就要个运行后删除f:\下所有文件大于1天的文件,包括文件夹内的.... 谢谢了哈.... 我不回批处理 |
|
| 第11楼 yhshiro | 发表于 2008-02-11 21:44 |
| 初级用户 发帖 59 积分 130 | |
|
The filename, directory name, or volume label syntax is incorrect.
什么意思.... |
|
| 第12楼 terse | 发表于 2008-02-11 21:45 |
| 银牌会员 发帖 946 积分 2,404 | |
|
@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 ) |
|
| 第13楼 yhshiro | 发表于 2008-02-11 21:48 |
| 初级用户 发帖 59 积分 130 | |
|
谢谢阿,已经可以用了~~~
多谢 |
|
| 第14楼 zcnvnv | 发表于 2008-02-12 18:18 |
| 初级用户 发帖 36 积分 114 | |
|
用for取dir的日期和文件名,判断,该删的del 文件名,不该删的过。
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |