bat腳本 定時刪除備份的文件


刪除 D:\yswbak 目錄下rar類型  6天前的 文件
@echo off 
forfiles /p D:\yswbak /m *.rar /d -6 /c "cmd /c del @path"
1、在批處理文件中,如果命令前加@,表示這條命令不打印出來,只把結果打印出來,即@是關閉命令本身的回顯
2、::在批處理中表示注釋某一行 3、ECHO ON表示接下來的命令中(不包括本命令),執行命令前會先把命令打印出來 ECHO OFF表示接下來的命令中(不包括本命令),只打印執行結果,不打印命令本身   @ECHO OFF表示接下來的命令中(包括本命令),只打印執行結果,不打印命令本身 4、命令echo XXX中,XXX是結果,echo XXX是命令本身

FORFILES

forfiles [/p Path ] [/m SearchMask ] [/s ] [/c Command ] [/d [{+ | - }] [{MM / DD / YYYY | DD }]]
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參數以減號( - )開頭,則僅選擇在給定日期或之前修改的文件(較舊的文件/先前修改過)。
否則,僅選擇在給定日期或之后修改的文件(較新的文件/稍后修改)。可以給出顯式加號(+),但這是默認值。
請注意,兩種模式都在給定日期選擇文件。無法僅在給定日期選擇文件(也不在之前或之后)。

 

示例:

刪除D:\db_bak目錄下(包含子目錄)20天之前的rar文件,請鍵入:
forfiles /p "D:\db_bak" /s /m *.rar /d -20 /c "cmd /c del @path"

要列出 C: 上 1993 年 1 月 1 日以前創建的所有文件,並顯示“file is quite old!”,請鍵入:
forfiles /p c:/ /s /m *.* /d t-01011993 /c "cmd /c echo @file is quite old!"

列出驅動器C: 上的所有批處理文件,請鍵入:
forfiles /p c:/ /s /m *.bat /c "cmd /c echo @file is a batch file"

列出驅動器 C: 上的所有目錄,請鍵入:
forfiles /p c:\ /s /m*.* /c"cmd /c if @isdir==true echo @file is a directory"

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM