|
yhshiro
初级用户
 
积分 130
发帖 59
注册 2007-12-25
状态 离线
|
『楼 主』:
求根据时间删除文件:删除创建日期大于1天文件
使用 LLM 解释/回答一下
如题:我想把我某个盘内 创建日期大于1天的文件删除掉。。。只要是大于一天的文件,不管什么格式都删除掉。。。
谁能弄个批处理给我用用啊??
───────────────── 版务记录 ─────────────────
执行:HAT
操作:在帖子标题中增加搜索关键字
说明:原标题"求一个根据时间删除文件的批处理"不利于论坛搜索
───────────────── 版务记录 ─────────────────
Last edited by HAT on 2008-9-27 at 10:20 ]
As the title says: I want to delete files in a certain disk whose creation date is more than one day. ... As long as the files are more than one day, delete them regardless of the format...
Can someone make a batch file for me to use??
───────────────── Moderation Record ─────────────────
Performed by: HAT
Operation: Added search keywords to the post title
Description: The original title "Ask for a batch file to delete files according to time" is not conducive to forum search
───────────────── Moderation Record ─────────────────
Last edited by HAT on 2008-9-27 at 10:20 ]
|
|
2008-2-10 03:11 |
|
|
terse
银牌会员
    
积分 2404
发帖 946
注册 2005-9-8
状态 离线
|
『第 2 楼』:
使用 LLM 解释/回答一下
前两天发在论坛上说测试不成功 你在看看
@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"
)
A few days ago I posted on the forum saying the test was not successful, you take a look
@echo off
SET/p TT=Enter the number of days:
SET/p PH=Enter the path:
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
状态 离线
|
『第 3 楼』:
使用 LLM 解释/回答一下
不行,能显示删除,但是删除不了
No, it can be displayed to delete, but it can't be deleted
|
|
2008-2-11 00:11 |
|
|
terse
银牌会员
    
积分 2404
发帖 946
注册 2005-9-8
状态 离线
|
『第 4 楼』:
使用 LLM 解释/回答一下
Originally posted by yhshiro at 2008-2-11 00:11:
不行,能显示删除,但是删除不了
去掉 echo del "%~1" 改为 del "%~1"
Originally posted by yhshiro at 2008-2-11 00:11:
It doesn't work. It can display deletion, but can't delete.
Change echo del "%~1" to del "%~1"
|

简单!简单!再简单! |
|
2008-2-11 01:51 |
|
|
yhshiro
初级用户
 
积分 130
发帖 59
注册 2007-12-25
状态 离线
|
『第 5 楼』:
使用 LLM 解释/回答一下
还是不行....现在连显示都不显示了,直接完啦./.
Still not working....Now it doesn't even display, it's completely done./.
|
|
2008-2-11 20:27 |
|
|
terse
银牌会员
    
积分 2404
发帖 946
注册 2005-9-8
状态 离线
|
『第 6 楼』:
使用 LLM 解释/回答一下
先前能显示的时候 显示的是什么内容?可否发上来?
What content was displayed when it could be shown before? Can you post it?
|

简单!简单!再简单! |
|
2008-2-11 20:40 |
|
|
yhshiro
初级用户
 
积分 130
发帖 59
注册 2007-12-25
状态 离线
|
『第 7 楼』:
使用 LLM 解释/回答一下
显示,要删除的文件名
del "f:\XXXXXXX.XX"
就是这样的内容
It shows that the file name to be deleted
del "f:\XXXXXXX.XX"
That's the kind of content
|
|
2008-2-11 21:02 |
|
|
yhshiro
初级用户
 
积分 130
发帖 59
注册 2007-12-25
状态 离线
|
『第 8 楼』:
使用 LLM 解释/回答一下
现在好了,可以用...
但是之能删除指定盘下的文件,不能删除文件夹内的文件
Now it's okay, you can use... But it can only delete files under the specified drive, not files inside folders
|
|
2008-2-11 21:05 |
|
|
terse
银牌会员
    
积分 2404
发帖 946
注册 2005-9-8
状态 离线
|
『第 9 楼』:
使用 LLM 解释/回答一下
这样呢?
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 ]
How about this?
Originally posted by yhshiro at 2008-2-11 21:05:
Now it's okay, can be used...
But it can only delete files in the specified disk, cannot delete files in the folder
@echo off
:st
cls
SET/p TT=Enter the number of days:
SET/p PH=Enter the path:
if "%tt%" =="" echo The number of days cannot be empty&pause&goto st
if "%ph%" =="" echo The path cannot be empty &pause&goto st
echo %tt%|findstr "^*$">nul&&goto ys||echo The number of days can only be 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 楼』:
使用 LLM 解释/回答一下
再给个简单点的吧,
我就要个运行后删除f:\下所有文件大于1天的文件,包括文件夹内的....
谢谢了哈....
我不回批处理
Please provide the batch script code for deleting all files in the f:\ directory that are older than 1 day, including those in subfolders. The following is a simple batch script to achieve this function:
```batch
@echo off
forfiles /p "f:\" /s /m *.* /d -1 /c "cmd /c del /q @path"
```
Explanation:
- `forfiles`: A command used to find files that meet specific time conditions.
- `/p "f:\"`: Specify the target directory as the f drive root directory.
- `/s`: Recursively search subdirectories.
- `/m *.*`: Match all files.
- `/d -1`: Find files older than 1 day.
- `/c "cmd /c del /q @path"`: For each found file, execute the `del /q` command to delete the file quietly.
|
|
2008-2-11 21:26 |
|
|
yhshiro
初级用户
 
积分 130
发帖 59
注册 2007-12-25
状态 离线
|
『第 11 楼』:
使用 LLM 解释/回答一下
The filename, directory name, or volume label syntax is incorrect.
什么意思....
The filename, directory name, or volume label syntax is incorrect.
意思是:文件名、目录名或卷标语法不正确。
|
|
2008-2-11 21:44 |
|
|
terse
银牌会员
    
积分 2404
发帖 946
注册 2005-9-8
状态 离线
|
『第 12 楼』:
使用 LLM 解释/回答一下
@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
)
@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 楼』:
使用 LLM 解释/回答一下
谢谢阿,已经可以用了~~~
多谢
Thanks, it's already working~~~
Thanks a lot
|
|
2008-2-11 21:48 |
|
|
zcnvnv
初级用户
 
积分 114
发帖 36
注册 2007-12-22
状态 离线
|
『第 14 楼』:
使用 LLM 解释/回答一下
用for取dir的日期和文件名,判断,该删的del 文件名,不该删的过。
Use for to get the date and file name of dir, judge, delete the ones that should be deleted with del file name, and pass the ones that should not be deleted.
|
|
2008-2-12 18:18 |
|