求一个现成的批处理文件代码:要求删除一个月前D:\data文件夹下面...
发布网友
发布时间:2024-10-04 09:15
我来回答
共3个回答
热心网友
时间:2024-10-05 18:04
参考下,有问题再追问或百度hi交流下。
热心网友
时间:2024-10-05 18:02
@echo off
rem 读取上1个月或者12个月的日期
:chong
echo.
set/p "w=你想要删除一个月还是几个月,请输入1-12,回车结束:"
if %w%==1 (set/a "y=%w%") else (
if %w%==2 (set/a "y=%w%") else (
if %w%==3 (set/a "y=%w%") else (
if %w%==4 (set/a "y=%w%") else (
if %w%==5 (set/a "y=%w%") else (
if %w%==6 (set/a "y=%w%") else (
if %w%==7 (set/a "y=%w%") else (
if %w%==8 (set/a "y=%w%") else (
if %w%==9 (set/a "y=%w%") else (
if %w%==10 (set/a "y=%w%") else (
if %w%==11 (set/a "y=%w%") else (
if %w%==12 (set/a "y=%w%") else (
echo.
echo 输入错误!请重新输入:
goto chong
))))))))))))
set/a "k=%date:~0,4%"
set/a "a=%date:~5,2%"
set/a "b=%date:~8,2%"
if %b% geq 28 set/a "b=28"
if %a% gtr %y% (set/a "c=%a%-%y%" & set/a "kc=%k%") else (set/a "kc=%k%-1" & set/a "c=%a%+12-%y%")
echo.
echo 今天日期:%k%-%a%-%b%,上%y%个月日期:%kc%-%c%-%b%
set/a "xyz=%kc%%c%%b%"
pause
rem 上面的代码经测试,正确可行!
rem 下面代码未测试,你可以测试一下
setlocal enabledelayedexpansion
for /f "delims=" %%i in ('dir /tc d:\data\^|findstr/c:"."') do (
for /f "tokens=1,2,3* delims= " %%m in ("%%i") do (set/a "pd1=%m:~,4%" & set/a "pd2=%m:~5,2%" & set/a "pd3=%m:~8,2%" & set "pp=%%p" & set/a "xyz1=!pd1!!pd2!!pd3!" & if %xyz% gtr !xyz1! del /q /s /f d:\data\!pp!)
)
热心网友
时间:2024-10-05 17:58
@echo off
::演示:删除指定路径下指定天数之前(以文件的最后修改日期为准)的文件。
::如果演示结果无误,把del前面的echo去掉,即可实现真正删除。
::本例需要Win2003/Vista/Win7系统自带的forfiles命令的支持
rem 指定待删除文件的存放路径
set SrcDir=D:\data
rem 指定天数
set DaysAgo=61
forfiles /p %SrcDir% /s /m *.* /d -%DaysAgo% /c "cmd /c echo del /f /q /a @path"pause