保存为bat文件运行,这是删除e:\111文件夹下的2天前的rar文件. 可根据自己的要求修改
@echo off&setlocal EnableDelayedExpansion
::取2天之前的日期.set _tian=2下面这句中的2代表天数.
set "_tian=2"
>tmptmp.vbs echo wscript.echo dateadd("d",-%_tian%,date)
for /f "tokens=1,2,3* delims=-" %%i in ('cscript /nologo tmptmp.vbs') do (
set "y=%%i"&set "m=%%j"&set "d=%%k"
)
if %m% LSS 10 set "m=0%m%"
if %d% LSS 10 set "d=0%d%"
set "rq=%y%-%m%-%d%"
echo.&echo 注意:即将删除 %rq% 以前建立的文件
::判断文件
for /f "delims=" %%a in ('dir/b/a-d e:\111\*.rar') do (
set "a=0"
for /f "skip=4 delims=" %%b in ('dir/tc "e:\111\%%a"') do (
set /a "a+=1"
if !a! equ 1 (
set "var=%%b"
for /f "tokens=1 delims= " %%c in ("!var!") do set "str=%%c"
if !str! lss !rq! del /q "e:\111\%%a"
)))
del/q temtem.vbs
pause
⑵ 如何创建一个.bat文件,执行删除文件夹下的所有文件
不清楚你的实际文件/情况,仅以问题中的说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI
@echooff&cd/d"%~dp0"
rem删除指定文件夹里的所有子文件夹和子文件,但不删除主文件夹本身
rem删除指定目录里的所有子文件夹和子文件,但不删除主目录本身
set#=Anyquestions&set_=WX&set$=Q&set/az=0x53b7e0b4
title%#%+%$%%$%/%_%%z%
set"folder=D:xxx文件夹A"
ifnotexist"%folder%"(echo;"%folder%"patherrorornotexist&pause&exit)
if"%folder:~-1%"equ""set"folder=%folder:~,-1%"
rem方法一
rd/s/q"%folder%"
md"%folder%"2>nul
rem方法二
for/f"delims="%%ain('dir/b"%folder%"2^>nul')do(
ifexist"%folder%\%%~nxa"(
rd/s/q"%folder%\%%~nxa"
)else(
del/a/f/q"%folder%\%%~nxa"
)
)
echo;%#%+%$%%$%/%_%%z%
pause
exit
⑶ 如何用bat命令清空文件夹
其实别的都好写的,x0dx0a“也就是说里面有些文件是被打开的了 那就跳过他不需要强制删除。”x0dx0ax0dx0a这个就实现不了,像文本之类打开着也是可以删除的。x0dx0a别的毫无难度。x0dx0a@echo offx0dx0a::删除cache目录下所有文件x0dx0adel /q /s d:\cache\*.*x0dx0a::通过DIR获取cache目录下的所有子文件夹。然后删除获取到的文件夹 ">nul"不现实错误信息。x0dx0afor /f "delims=" %%a in ('dir /ad/b/s d:\cache') do (rd /q /s "%%a")>nulx0dx0aecho end...x0dx0apause