批处理删除指定文件夹内指定日期前的部分文件怎么写?例如图片中的红圈中文件,其他保留
1个回答
2012-12-25
展开全部
1、严格按照你给出的格式来的。在需要处理的文件所在的文件夹运行。
2、如果要指定目录可在第二行加入命令 cd /c "D:\例子\指定的目录"。
@echo off&setlocal enabledelayedexpansion
call :sub 01075254.801
call :sub 02075254.801
call :sub 03075254.801
echo 完成
pause>nul&exit
:sub
set n=%1
for /r %%i in (%n:~,2%*) do (
set str=%%~ni
set str=9!str:~2,6!
if "!str!" LEQ "9%n:~2,6%" del "%%~fi"
)
goto :eof
2、如果要指定目录可在第二行加入命令 cd /c "D:\例子\指定的目录"。
@echo off&setlocal enabledelayedexpansion
call :sub 01075254.801
call :sub 02075254.801
call :sub 03075254.801
echo 完成
pause>nul&exit
:sub
set n=%1
for /r %%i in (%n:~,2%*) do (
set str=%%~ni
set str=9!str:~2,6!
if "!str!" LEQ "9%n:~2,6%" del "%%~fi"
)
goto :eof
追问
非常感谢您能帮助我!我是菜鸟,我把你的命令复制后,保存为(删除.bat).双击能运行,但是不知道为什么不能删除文件。
追答
bat文件的格式,要与给出的一模一样,复制后自己换行。
在需要删除文件的文件夹中运行。下面这个是删除文件到第几个,
call :sub 01075254.801 是按照你给出的图片写的,改成自己需要的。
上面代码已测试,按照你给出的文件格式,可以执行。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询