求一个能删除指定路径下超出30天以前的文件夹的bat
bat吧
全部回复
仅看楼主
level 2
求一个能删除指定路径下超出30天以前的文件夹的bat
比如电脑F盘内temp文件夹内,每天都会产生新的子文件夹。写一个bat,可以删除30天之前产生(文件夹修改日期是30天之前)的文件夹
还有怎么让这个bat,每隔7天运行
2021年06月04日 05点06分 1
level 9
不清楚你的实际文件/情况,仅以问题中的样例/说明为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI
<# :
cls&echo off&mode con lines=3000
rem 搜索/查找并删除指定目录里创建日期在指定天数之前的子文件夹
set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
cd /d "%~dp0"
powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::GetEncoding('GB2312')))) -Args '%~f0'"
echo;%#% +%$%%$%/%_% %z%
pause
exit
#>
$ago=-30;
$folder="F:\temp";
if(-not (test-path -liter $folder)){write-host ('"'+$folder+'" 未找到');exit;};
$agodate=(get-date).adddays($ago).toString('yyyy-MM-dd');
$folders=@(dir -liter $folder|?{$_ -is [System.IO.DirectoryInfo]}|sort {$_.CreationTime} -Descending);
for($i=0;$i -lt $folders.length;$i++){
$ct=$folders[$i].CreationTime.toString('yyyy-MM-dd');
if($ct -le $agodate){'['+$ct+']'+$folders[$i].Name;}
}
2021年06月04日 16点06分 2
不能用啊
2021年06月06日 14点06分
@宝贝的梦里天空 按代码运行后窗口标题栏中的提示联系我
2021年06月08日 04点06分
level 1
@璐村惂鐢ㄦ埛_000076K馃惥 off&setlocal enabledelayedexpansion
set a=%date:/=%
set a=%a:~0,8%
for %%i in (d:\*) do (
set b=%%~ti
set b=!b:/=!
set b=!b:~0,8!
set/a c=!a!-!b!
if !c! gtr 100 echo %%~dpnxsi
)
pause
2021年06月18日 10点06分 3
1