windows2008 使用windows server backup定时备份文件夹和批处理脚本定时删除文件夹

由于公司OA需要定期备份数据库文件,及定时删除超过7天的备份文件,通过windows2008自带的windows Server Backup 备份文件夹,及forfile 来定时删除超过时间的文件
由于2008默认没有安装windwos Server Backup,需要手动安装。
Windows Server Backup工具已经包含在所有版本的Windows Server 2008中,但默认状态下它并没有被安装。要安装Windows Server Backup工具,我们可通过服务器管理器来完成。在服务器管理器中从左侧窗格选择“功能”节点,然后单击右侧的“添加功能”链接,随后会打开“添加功能向导”。在“选择功能”界面中,选择“Windows Server Backup”(建议同时选择Windows Recovery Disc,该工具是还原工具)。在选择Windows Server Backup功能时,Windows Server Backup和命令行工具选项都将被选中。单击“下一步”,然后单击“安装”按钮。在向导安装完这些功能后,单击“关闭”按钮即可。至此,Windows Server Backup功能就成了管理工具钢菜单下的一个选项,同时在“所有程序”→“维护”菜单下还将能看到“创建恢复盘”选项。
在这里插入图片描述在这里插入图片描述安装完成
在这里插入图片描述
在开始菜单-管理工具 打开windows server backup

在这里插入图片描述选择备份计划
在这里插入图片描述自定义备份文件夹
在这里插入图片描述选择磁盘文件夹
在这里插入图片描述
选择备份时间
在这里插入图片描述选择备份到网络文件夹
在这里插入图片描述输入共享的可存储目录
在这里插入图片描述在输入远程共享文件时,一定要设置远程电脑的用户名和本地用户名的账户密码完全一样,不然在最后一步完成时,一定会报错
在这里插入图片描述

完成
在这里插入图片描述成功创建任务
在这里插入图片描述

利用windwos自带命令forfiles 创建批处理文件,定时删除超过7天的文件
在这里插入图片描述

生成bat文件,通过windows自带定时任务根据需求完成删除任务。
在这里插入图片描述----------------------------------------------------------------------------------------------------------------------------
forfiles是一款windows平台的软件工具,其中选择文件并运行一个命令来操作文件。

文件选择标准包括名称和上次修改日期。

它可以直接在命令行中使用,也可以在批处理文件或其他脚本中使用。

该forfiles命令最初作为加载项提供在Windows NT 资源工具包中。它成为Windows Vista的标准实用程序,作为新管理功能的一部分。

用法

forfiles命令有几个命令行选项。如果没有给出选项或参数,它将输出当前目录中每个文件的名称。

说明:

/p 指定的路径
/s 包括子目录,默认情况下,仅搜索单个指定目录。
/m 查找的文件名掩码
/d 指定日期,有绝对日期和相对日期, 此处-7指当前日期 的7天前
/c 运行的命令行 表示为每个文件执行的命令。命令字符串应该用双引号括起来。

默认命令是 “cmd /c echo @file”。

下列变量可以用在命令字符串中:
复制代码

@file    - 返回文件名。
@fname   - 返回不带扩展名的文件名。
@ext     - 只返回文件的扩展。
@path    - 返回文件的完整路径。
@relpath - 返回文件的相对路径。
@isdir   - 如果文件类型是目录,返回 "TRUE";如果是文件,返回 "FALSE"。
@fsize   - 以字节为单位返回文件大小。
@fdate   - 返回文件上一次修改的日期。
@ftime   - 返回文件上一次修改的时间

复制代码

日期语法

date参数可以作为文字日期给出, 格式 [/d [{+ | - }] [{MM / DD / YYYY | DD }]]

其中MM / DD / YYYY 是指定的日期,DD 是当前日期减去DD 天
如果date参数以减号( - )开头,则仅选择在给定日期或之前修改的文件(较旧的文件/先前修改过)。
否则,仅选择在给定日期或之后修改的文件(较新的文件/稍后修改)。可以给出显式加号(+),但这是默认值。
请注意,两种模式都在给定日期选择文件。无法仅在给定日期选择文件(也不在之前或之后)。

============例子说明

例1.要把在C盘根目录下最后修改日期大于或等于2007年7月1日的文件复制到D盘根目录下:

forfiles /p “c:” /d “2007-7-1” /c “cmd /c copy @path d:”

例2.1 删除在C盘backup目录下最后修改日期在10天前的文件:

forfiles /p “c:\backup” /d -10 /c “cmd /c echo deleting @file … && del /f @path”

例2.2 自动删除D盘test目录最后修改日期在7天前文件

forfiles /p “d:\test” /s /m . /d -7 /c “cmd /c del @path”

例2.3 删除当前目录下28天以前的扩展名为bkf文件(以当前系统时间为基准)

forfiles /m *.bkf /d -28 /c “cmd /c del @file /f”

删除文件的语法解析
forefiles /p /m -d /c

forfiles /p 包含要删除文件的完整路径(如:F:\Logfiles) /m *.log -d -7 /c “cmd /c del /f @path”

解释一下相关参数及命令

@PATH : 表示文件的完整的路径。

@File : 表示文件名称。

案例操作

1.删除所有的空目录(以删除d:\test目录下为例)

dir /ad/b/s d:\test\ |sort /r >d:\kill.txt

For /f “tokens=*” %%i in (d:\kill.txt) DO rd “%%i”

del d:\kill.txt

2.自动删除7天前文件和目录

{建一个bat文件的快捷方式在启动,d:\test换成你要的目录路径。日期是指修改的日期。 }

原理:先删过期文件,再删所有的空目录,这才是一个完整的删除过程

@echo off

forfiles /p “d:\test” /s /m . /d -7 /c “cmd /c del @path”

dir /ad/b/s d:\test\ |sort /r >d:\kill.txt

For /f “tokens=*” %%i in (d:\kill.txt) DO rd “%%i”

del d:\kill.txt

在这里插入图片描述


版权声明:本文为u011775882原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。