批处理指令删除指定日期前创建的文件

一个.bat文件,可以用来删除指定日期之前创建,指定路径内的文件。**运用%1,%2传递参数,传递的参数为:(1)目标文件夹(对这个文件夹中中的子文件夹和文件进行操作)(... 一个.bat文件,可以用来删除指定日期之前创建,指定路径内的文件。
**运用%1,%2传递参数,传递的参数为:(1)目标文件夹(对这个文件夹中中的子文件夹和文件进行操作)(2)指定的日期(在该日期前的文件或文件夹被删除)
如可以输入20150101 C:\Program Files则说明要删除C:\Program Files内所有2015年1月1日前创建的文件
展开
 我来答
ijyfe
推荐于2017-12-15 · TA获得超过3000个赞
知道小有建树答主
回答量:1243
采纳率:25%
帮助的人:477万
展开全部
::如果是widnows7系统,可以使用下面的代码
@echo off
set /p dt=请输入日期:
set /p pth=请输入路径:
forfiles /p "%pth%" /m *.* /c "cmd /c del /a /f @path" /d -%dt%
for /f "delims=" %%a in ('dir /a-d /b /s "%pth%"^|sort /r') do (
   rd "%%a"
)  

pause
更多追问追答
追问
您提供的代码输入日期和路径时需要什么特殊格式么?总是显示格式错误
追答
日期要是和你的电脑显示的日期格式一直,如:2015/01/01或2015-01-01等等,你看看自己电脑时间的格式
JooKin
2015-07-06 · TA获得超过687个赞
知道小有建树答主
回答量:304
采纳率:0%
帮助的人:381万
展开全部
@echo off
Setlocal EnableDelayedExpansion
set "dt=%2"&set "y=!dt:~,4!"&set "m=!dt:~4,2!"&set "d=!dt:~-2!"
for  %%i in ("%~1") do if "%%~ti" lss "%y%-%m%-%d% 00:00" rd /s/q "%~1"
endlocal
exit/b

另存为1.bat,cmd命令行下输入1.bat c:\123 20150101即可

追问
您这个运行后把C:\123整个删掉了
追答
@echo off
Setlocal EnableDelayedExpansion
set "dt=%2"&set "y=!dt:~,4!"&set "m=!dt:~4,2!"&set "d=!dt:~-2!"
for %%i in ("%~1") do if "%%~ti" lss "%y%-%m%-%d% 00:00" cd "%~1"&rd /s/q "%~1" 2>nul
endlocal
exit/b

 还有一个需要注意,就是第一个参数的路径名如果有空格,记得用""括起来,路径名最后加不加\则无所谓

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
上善若水CAE
2015-07-06 · 超过45用户采纳过TA的回答
知道小有建树答主
回答量:163
采纳率:100%
帮助的人:59.5万
展开全部
度娘里多的很啊,搜索批处理程序
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式