保存為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