Windows自動刪除n天前的文件的批處理腳本

數據庫每天備份文件,然而只需要保留七天的備份即可,編寫一個批處理腳本文件自動刪除七天前的文件並設置定時任務

自動刪除文件需要用到forfiles命令

forfiles參數:
/p 指定的路徑
/s 包括子目錄
/m 查找的文件名掩碼
/d 指定日期,有絕對日期和相對日期, 此處-7指當前日期 的7天前  
/c 運行的命令行   表示爲每個文件執行的命令。命令字符串應該用雙引號括起來。

默認命令是 "cmd /c echo @file"。下列變量 可以用在命令字符串中:

@file    - 返回文件名。
@fname   - 返回不帶擴展名的文件名。
@ext     - 只返回文件的擴展。
@path    - 返回文件的完整路徑。
@relpath - 返回文件的相對路徑。
@isdir   - 如果文件類型是目錄,返回 "TRUE";如果是文件,返回 "FALSE"。
@fsize   - 以字節爲單位返回文件大小。
@fdate   - 返回文件上一次修改的日期。
@ftime   - 返回文件上一次修改的時間。


新建一個記事本文件,輸入下面的命令,將文件名命名爲“刪除7天前備份文件.bat”,注意要刪除文件所在的路徑

@echo off  #需要密碼
forfiles /p "C:\autoscpfile\data" /s /m *.bak /d -7 /c "cmd /c del /f @path"
forfiles /p "C:\autoscpfile\log" /s /m *.txt /d -7 /c "cmd /c del /f @path"

腳本文件寫好後設置定時任務

在Windows server 2003上打開任務計劃

“開始”—>“所有程序”—>“附件”—>“系統工具”—>“任務計劃”

空白處右鍵單擊新建計劃任務,將任務命名爲“刪除7天前備份”,雙擊該任務

選擇瀏覽,找到批處理文件的路徑,設置密碼,密碼是執行該腳本的用戶的登錄密碼

wKioL1lZtVyROZKYAAAlWvbhJvY421.png

設置腳本執行的時間,每天3:00執行該腳本,然後點擊應用,確定

wKiom1lZtVyhbueZAAAedBgtwTc631.png


在Windows server 2008 R2上打開任務計劃

“開始”—>“管理工具”—>“任務計劃程序”

右側操作欄,點擊創建任務

wKioL1lZulKgpy2fAABzdL4Fcac433.png

給任務命名,選擇配置,使用最高權限運行

wKioL1lZv5HiZZC_AAAzoD2c05w160.png

選擇觸發器,新建

wKioL1lZv5HyN2V2AAAf0k5gwAk552.png

選擇新建觸發器,設置任務執行的時間,確定

wKiom1lZv5LCd89NAAAyKA_Vi-o646.png

選擇操作,新建

wKioL1lZv5PQUR2bAAAhoO3a0vI220.png

點擊瀏覽,選擇要執行的腳本路徑,起始於選項填寫腳本路徑,然後確定

wKiom1lZv5OCZ4O_AAAWviWoS1U234.png




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章