批处理指令删除指定日期前创建的文件
一个.bat文件,可以用来删除指定日期之前创建,指定路径内的文件。**运用%1,%2传递参数,传递的参数为:(1)目标文件夹(对这个文件夹中中的子文件夹和文件进行操作)(...
一个.bat文件,可以用来删除指定日期之前创建,指定路径内的文件。
**运用%1,%2传递参数,传递的参数为:(1)目标文件夹(对这个文件夹中中的子文件夹和文件进行操作)(2)指定的日期(在该日期前的文件或文件夹被删除)
如可以输入20150101 C:\Program Files则说明要删除C:\Program Files内所有2015年1月1日前创建的文件 展开
**运用%1,%2传递参数,传递的参数为:(1)目标文件夹(对这个文件夹中中的子文件夹和文件进行操作)(2)指定的日期(在该日期前的文件或文件夹被删除)
如可以输入20150101 C:\Program Files则说明要删除C:\Program Files内所有2015年1月1日前创建的文件 展开
3个回答
展开全部
::如果是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等等,你看看自己电脑时间的格式
展开全部
@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
还有一个需要注意,就是第一个参数的路径名如果有空格,记得用""括起来,路径名最后加不加\则无所谓
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
度娘里多的很啊,搜索批处理程序
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询