dos命令 想要在一个文件夹里删除一个月以前的并且文件名称为abc的所有文件夹应该怎么处理呢?
例如想要删除D:\ceshi里面不管是多少层的文件夹,只要文件夹名称是abc的并且创建时间是一个月以前的就都筛选出来删除我查了一下理解上可以用@echoofffor/d/...
例如想要删除D:\ceshi里面不管是多少层的文件夹,只要文件夹名称是abc的 并且创建时间是一个月以前的就都筛选出来删除
我查了一下理解上可以用
@echo off
for /d /r d:\ceshi %%b in (*abc*) do rd /s /q "%%b"
pause
那我怎么可以增加一个条件把一个月以前这个时间筛选的条件也增加上呢。谢谢~ 展开
我查了一下理解上可以用
@echo off
for /d /r d:\ceshi %%b in (*abc*) do rd /s /q "%%b"
pause
那我怎么可以增加一个条件把一个月以前这个时间筛选的条件也增加上呢。谢谢~ 展开
1个回答
展开全部
复制粘贴到记事本,另存为xx.bat,编码选ANSI
@echo off
rem 删除指定天数以前(一个月前)创建的指定名称的文件夹
mode con lines=3000
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
set "name=abc"
set "folder=D:\ceshi"
set "ago=-30"
(echo;Set fso=CreateObject^("Scripting.Filesystemobject"^)
echo;agoday=date+^(%ago%^)
echo;Do While WSH.StdIn.AtEndOfStream=Flase
echo;Set fd=fso.GetFolder^(WSH.StdIn.ReadLine^)
echo;If fd.DateCreated ^< agoday Then
echo;WSH.echo fd.DateCreated ^& "|" ^& fd.Path
echo;End If
echo;Loop)>"%tmp%\v.v"
if not exist "%folder%" (echo;"%folder%" not found&goto end)
pushd "%folder%"
for /f "tokens=1* delims=|" %%a in ('dir /ad/b/s "%name%"^|cscript -nologo -e:vbscript "%tmp%\v.v"') do (
if exist "%%b\" (
echo;[%%a]"%%b"
rd /s /q "%%b\"
)
)
popd
:end
echo;%#% +%$%%$%/%@% %z%
pause
exit
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询