流程
【金山文档】 定时删除windows 服务器文件夹
https://kdocs.cn/l/cuWU8gKwen8Q
创建定时任务脚本
schtasks.exe /create /sc daily /tn "My Task" /tr "C:\path\to\your\script.bat" /st 00:00
请确保将 "C:\path\to\your\script.bat"
替换为你要执行的脚本或命令的完整路径。这个脚本或命令将在每天0点执行。
这里的参数解释如下:
/create
:创建一个新任务。/sc daily
:设置任务的执行计划为每天。/tn "My Task"
:为任务指定一个名称,你可以将其替换为你想要的任何名称。/tr "C:\path\to\your\script.bat"
:指定要执行的脚本或命令的路径。/st 00:00
:设置任务的开始时间为每天的0点。
删除文件夹脚本
以下是一个简单的批处理脚本,可以定时删除指定目录及其子目录下的文件:
@echo off
set "target_folder=C:\path\to\folder"
set "days_to_keep=7"
for /d %%d in ("%target_folder%*") do (
echo Deleting files in "%%d" older than %days_to_keep% days...
for /r "%%d" %%f in (*) do (
if /i "%%~nxf" lss "today - %days_to_keep% days" del "%%f" /q /f
)
rd /s /q "%%d"
)
请注意,此脚本将删除指定目录及其子目录下的所有文件和文件夹,而不仅仅是目标目录下的文件和文件夹。在运行此脚本之前,请确保您已备份重要数据,并谨慎操作。
在此脚本中,您需要将 target_folder
变量设置为要删除文件的目录的路径。days_to_keep
变量指定要保留文件的最大天数。在此示例中,我们保留最近7天的文件。
脚本首先遍历目标文件夹中的每个子文件夹,并使用 for /r
命令递归处理每个子文件夹中的文件。对于每个文件,它检查文件的名称是否小于当前日期减去指定天数(在此示例中为7天)。如果是,则使用 del
命令删除该文件。/q
参数表示静默删除,不会提示确认,/f
参数表示强制删除只读文件。
接下来,对于每个子文件夹,使用 rd /s /q
命令删除整个文件夹及其内容。/s
参数表示递归删除文件夹及其子文件夹,/q
参数表示静默删除,不会提示确认。
windows服务器上验证
删除之前文件目录结构如下
手动执行脚本
删除之后文件目录结构如下
没有12这个文件夹了