求一个cmd批量删除某个目录下所有文件和目录的批处理命令
1、要可以排除指定目录,排除指定文件;2、只删除修改时间>1天的文件;3、如果目录非空,则删除之;注意,关键是修改时间的判断,比较重要。希望高手指教。...
1、要可以排除指定目录,排除指定文件;
2、只删除修改时间>1天的文件;
3、如果目录非空,则删除之;
注意,关键是修改时间的判断,比较重要。希望高手指教。 展开
2、只删除修改时间>1天的文件;
3、如果目录非空,则删除之;
注意,关键是修改时间的判断,比较重要。希望高手指教。 展开
2个回答
展开全部
@echo off
setlocal enabledelayedexpansion
if not exist tmp0 md tmp0
echo .>tmp0\file.txt
set a=0
for /f %%i in ( 'dir /b /s' ) do (
if '%%i' == '%1' set a=1
if '%%i' == '%2' set a=1
if '%%i' == '%3' set a=1
if '%%i' == '%4' set a=1
if '%%i' == '%5' set a=1
if '!a!' == '0' (echo %%i %%~ti>>tmp0\file.txt)
set a=0
)
for /f "skip=1 tokens=1,2" %%i in (tmp0\file.txt) do (
if not '%%j'=='%date:~0,10%' (del %%i /f /q & echo %%i 删除成功) else echo %%i未删除
)
这个批处理的结果是只留下当前日期的文件,想留哪天的就把日期改到哪天。
目录非空的那个要求没有做
setlocal enabledelayedexpansion
if not exist tmp0 md tmp0
echo .>tmp0\file.txt
set a=0
for /f %%i in ( 'dir /b /s' ) do (
if '%%i' == '%1' set a=1
if '%%i' == '%2' set a=1
if '%%i' == '%3' set a=1
if '%%i' == '%4' set a=1
if '%%i' == '%5' set a=1
if '!a!' == '0' (echo %%i %%~ti>>tmp0\file.txt)
set a=0
)
for /f "skip=1 tokens=1,2" %%i in (tmp0\file.txt) do (
if not '%%j'=='%date:~0,10%' (del %%i /f /q & echo %%i 删除成功) else echo %%i未删除
)
这个批处理的结果是只留下当前日期的文件,想留哪天的就把日期改到哪天。
目录非空的那个要求没有做
来自:求助得到的回答
2012-12-20
展开全部
请参照linux命令cm
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |