Windows 文件清理脚本

发布时间:2023年12月21日

情况描述

有一台Windows Server服务器,开启FTP用来存储Java应用dump文件,需要定时清理,考虑有两种清理方案:

方案一:
在Linux通过挂载Windows共享目录,cifs 文件系统,通过Shell 脚本 + 定时任务清理(这个用find + crond 就可以,不赘述)

方案二:
在Windows写bat脚本,通过计划任务程序加载定时任务执行清理

需求描述

需求一:需要清理7天前的dump
需求二:需要清理同一个系统的dump,保留一个(目前没验证保留的是否最新文件)

脚本内容

需求一

一、dos 测试
win + r ,输入cmd
或者
鼠标右键桌面左下角win标识,选择运行,输入cmd

注意:
1、不要用Windows PowerShell dir显示内容不一样,而且计划任务程序默认加载的也是cmd ,bat的默认执行程序也是cmd
2、注意目录路径

# 打印查询结果,验证文件是否是目标文件
> forfiles /P "D:\dump" /M *.hprof /D -7 /C  "cmd /c echo @file"
> forfiles /?     # 查看帮助文档
    /P 地址
    /M 模糊匹配
    /D -7 代表7天前
    /C 后面跟命令
    "cmd /c del/F/s/q @file" 删除文件
    "cmd /c echo @file"      打印文件
> forfiles /P "D:\dump" /M *.hprof /D -7 /C  "cmd /c del/F/s/q @file"

二、脚本内容
新建一个文件,后缀修改为bat,右键,选择编辑

如果看不到后缀,打开文件浏览器,最上面菜单查看,找到文件扩展名,勾选

输入上面测试过的内容(注意路径):

@echo off
forfiles /P "D:\dump" /M *.hprof /D -7 /C  "cmd /c del/F/s/q @file"

双击,测试和验证清理效果

三、添加任务计划程序
Win+R,调出运行窗口,输入compmgmt.msc 进入计算机管理

鼠标右键桌面左下角Win图标,选择计算机管理

系统工具 》 任务计划程序 》任务计划程序库 》 右边窗口操作底下的基本任务 》 按照指引填写 注意选择脚本,保存即可

测试运行,找到自己的任务,鼠标右键,运行,验证脚本执行情况

历史记录可以查看历史运行情况,如果看不到,操作窗口,点击启用所有任务历史记录即可

需求二 (未完待续)

文章来源:https://blog.csdn.net/weixin_43839586/article/details/135135095
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。