当前位置:首页 > 技术文章 > 正文内容

forfiles命令,在Windows删除旧文件

在运行Windows的时候,也会出现一些不必要的文件,需要进行定期的删除,避免占用大量的磁盘空间。Windows的forfiles命令犹如Linux的find命令,一行命令就可以删除旧文件及文件夹。

Windows的批处理文件,一般后缀为bat或者cmd,在这里使用bat。

1) forfiles常用变量

在这里文件为C:\Apache\access.log。

变量内容输出结果
@file文件名(包括后缀)access.log
@fname文件名(不包括后缀)access
@ext后缀log
@path文件的完全路径C:\Apache\access.log
@relpath文件的相对路径.\access.log
@isdir如果是文件夹会返回TRUE(注意是大写),当文件时会返回FALSE。
@fsize文件大小(bytes单位)128
@fdate文件的更新日期2015/12/8
@ftime文件的更新时间15:50:20

forfiles命令其他参数可以使用forfiles /?命令进行查看。

2) 批处理删除文件夹

执行该bat文件的话,会删除D:\Apache\Log_Archives文件夹下面的7天之前的目录,包括目录下的文件。

cleanup.bat

@echo off

:: set folder path

set log_path=D:\Apache\Log_Archives

:: set min age of files and folders to delete

set max_days=7

:: remove sub directories from %log_path%

C:\Windows\System32\forfiles -p %log_path% -d -%max_days% -c "cmd /c IF @isdir == TRUE rd /S /Q @path"

3) 批处理删除文件

删除D:\Apache\Logs文件夹下的7天之前的所有文件。

DelFile.bat

set log_path=D:\Apache\Logs

:: remove files from %log_path%

forfiles -p %log_path% -m *.* -d -%max_days% -c "cmd /c del /q @path"

4) 常见问题

如果出现以下错误时,可以把forfiles命令指定为完全路径(FullPath),C:\Windows\System32\forfiles

'forfiles' 不是内部或外部命令,也不是可运行的程序或批处理文件。

5) 定期执行批处理

1) 依次点击「开始」-> 「管理工具」->「任务计划程序」。

2) 点击「创建基本任务」。

3) 填写任务的名称及描述之后,点击「下一步」。

4) 在这里使用默认的「每天」,并点击「下一步」。

5) 开始日期选择当天(在这里是2015/12/8),时间选择3:00:00(3点执行),每隔1天发生一次。以上设定是每天3天执行该任务。

6) 点击「下一步」。

7) 选择上面的创建的bat文件之后,点击「下一步」。

8) 点击「完成」。

相关文章

Vue状态管理:Pinia完整指南(状态管理vuex)

概述本文专注于Vue的状态管理。我们将深入探讨如何使用Pinia来管理Vue应用程序的状态。状态管理使用props和emit进行父子组件间的数据协作虽然方便,但在以下情况下可能不够充分,数据传递往往会...

Vue 2 和 Vue 3的区别(vue2和vue3的区别有哪些)

1.双向数据绑定原理不同Vue2 的双向数据绑定是利用ES5的一个APIObject.definePropert() 对数据进行劫持,结合发布订阅模式的方式来实现的。Vue3 中使用ES6的Proxy...

Vue基础(vue基础组件文件名符合规范的是)

Vue 是什么,它的核心特点有哪些?Vue 是一款渐进式 JavaScript 框架,它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助开发者用...

Vue2的16种传参通信方式(vue传参数)

前言先直入主题列出有哪些传参方式,下面再通过事例一一讲解。props(父传子)$emit与v-on (子传父)EventBus (兄弟传参).sync与update: (父子双向)v-model (父...

前端React面试基础系列(React基础篇)

本文阅读8分钟,喜欢的小伙伴可以持续关系小编哦1. 什么是受控组件和非受控组件?受控组件像表单元素在用户输入时,像<input> <select>等元素需要绑定一个 chang...

git的几种分支模式(git分支的概念)

编写代码,是软件开发交付过程的起点,发布上线,是开发工作完成的终点。代码分支模式贯穿了开发、集成和发布的整个过程,是工程师们最亲切的小伙伴。那如何根据自身的业务特点和团队规模来选择适合的分支模式呢?本...