亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > BAT > 正文

使用forfiles命令批量刪除N天前文件

2020-03-29 19:52:32
字體:
來源:轉載
供稿:網友

在整理手上幾臺SQL SERVER 2000的數據庫備份時,一方面為了方便快速還原數據庫,另外一方面為了備份冗余、備份方式統一(先備份到本地,然后收上磁帶),將以前通過Symantec Backup Exec直接備份上帶的作業改成了如下方式:
    Step 1: 通過數據庫維護計劃將備份生成在本地磁盤M,完整備份保留2天,事務日志備份保留3天

            M:/DB_BACKUP/FULL_BACKUP
            M:/DB_BACKUP/LOG_BACKUP

    Step 2:  備份完成后通過Symantec Backup Exec將備份文件收上磁帶。
但是發現即使SQL SERVER 2000的數據庫維護計劃設置了刪除幾天前的備份文件,但是發現根本沒有刪除過期備份。于是只好使用dos命令來處理。剛開始想用forfiles命令,結果我搜索的時候,發現Windows 2000下沒有forfiles命令,后來通過從第三方復制過來,發現Windows 2000下也可以使用forfiles(如果不借助于forfiles命令,直接用批處理命令完成這個,那簡直痛苦死了)
關于forfiles命令的語法如下所示
 
C:/>forfiles /?
FORFILES [/P pathname] [/M searchmask] [/S]
         [/C command] [/D [+ | -] {yyyy-MM-dd | dd}]
Description:
    Selects a file (or set of files) and executes a
    command on that file. This is helpful for batch jobs.
Parameter List:
    /P    pathname      Indicates the path to start searching.
                        The default folder is the current working
                        directory (.).
    /M    searchmask    Searches files according to a searchmask.
                        The default searchmask is '*' .
    /S                  Instructs forfiles to recurse into
                        subdirectories. Like "DIR /S".
    /C    command       Indicates the command to execute for each file.
                        Command strings should be wrapped in double
                        quotes.
                        The default command is "cmd /c echo @file".
                        The following variables can be used in the
                        command string:
                        @file    - returns the name of the file.
                        @fname   - returns the file name without
                                   extension.
                        @ext     - returns only the extension of the
                                   file.
                        @path    - returns the full path of the file.
                        @relpath - returns the relative path of the
                                   file.
                        @isdir   - returns "TRUE" if a file type is
                                   a directory, and "FALSE" for files.
                        @fsize   - returns the size of the file in
                                   bytes.
                        @fdate   - returns the last modified date of the
                                   file.
                        @ftime   - returns the last modified time of the
                                   file.
                        To include special characters in the command
                        line, use the hexadecimal code for the character
                        in 0xHH format (ex. 0x09 for tab). Internal
                        CMD.exe commands should be preceded with
                        "cmd /c".
    /D    date          Selects files with a last modified date greater
                        than or equal to (+), or less than or equal to
                        (-), the specified date using the
                        "yyyy-MM-dd" format; or selects files with a
                        last modified date greater than or equal to (+)
                        the current date plus "dd" days, or less than or
                        equal to (-) the current date minus "dd" days. A
                        valid "dd" number of days can be any number in
                        the range of 0 - 32768.
                        "+" is taken as default sign if not specified.
    /?                  Displays this help message.

Examples:

    FORFILES /?
    FORFILES
    FORFILES /P C:/WINDOWS /S /M DNS*.*
    FORFILES /S /M *.txt /C "cmd /c type @file | more"
    FORFILES /P C:/ /S /M *.bat
    FORFILES /D -30 /M *.exe
             /C "cmd /c echo @path 0x09 was changed 30 days ago"
    FORFILES /D 2001-01-01
             /C "cmd /c echo @fname is new since Jan 1st 2001"
    FORFILES /D +2014-12-15 /C "cmd /c echo @fname is new today"
    FORFILES /M *.exe /D +1
    FORFILES /S /M *.doc /C "cmd /c echo @fsize"
    FORFILES /M *.txt /C "cmd /c if @isdir==FALSE notepad.exe @file"
 
對應的中文提示信息如下所示:

語法
forfiles [/p Path ] [/m SearchMask ] [/s ] [/c Command ] [/d [{+ | - }] [{MM / DD / YYYY | DD }]]
參數
/p Path
指定Path ,表明要從哪里開始搜索。默認的文件夾是當前工作目錄,該目錄通過鍵入句號(.) 指定。
/m SearchMask
按照SearchMask 搜索文件。默認的SearchMask 是*.* 。
/s
指示forfiles 在子目錄中搜索。
/c Command
在每個文件上運行指定的Command 。帶有空格的命令字符串必須用引號括起來。默認的Command 是"cmd /c echo @file" 。
/d [{+ | - }] [{MM / DD / YYYY | DD }]
選擇日期大于或等于(+ )(或者小于或等于(- ))指定日期的文件,其中MM / DD / YYYY 是指定的日期,DD 是當前日期減去DD 天。如果未指定+ 或- ,則使用+ 。DD 的有效范圍是0 - 32768。
/?
在命令提示符下顯示幫助。
如下所示,由于Windows Server 2000下拷貝過來的forfiles命令的版本是V 1.1,使用參數必須為-p、-c、-m 而且參數后面不能有空格。

forfiles,批量刪除,N天前文件

如下所示,delete_old_backup.bat 刪除2天前的完整備份、事務日志備份、以及維護計劃生成的日志文件。

echo --------------------------------------------- >>delete_old_backup.log  echo Delete the backup log start at %Date% - %time% >>delete_old_backup.log  rem Delete days.  set DaysAgo=2  rem delete old backup log files.  set LogPath=M:/DB_BACKUP/  forfiles -p%LogPath% -m*.txt -d-%DaysAgo% -c"cmd /c del /q @FILE" >> delete_old_backup.log  echo Delete the backup log Stop at %Date% - %time% >>delete_old_backup.log  echo Delete the full backup start at %Date% - %time% >>delete_old_backup.log  set FullBackupPath=M:/DB_BACKUP/FULL_BACKUP  forfiles -p%FullBackupPath% -m*.bak -d-%DaysAgo% -c"cmd /c del /q @FILE" >> delete_old_backup.log  echo Delete the full backup Stop at %Date% - %time% >>delete_old_backup.log  echo Delete the log backup start at %Date% - %time% >>delete_old_backup.log  set LogBackupPath=M:/DB_BACKUP/LOG_BACKUP  forfiles -p%LogBackupPath% -m*.TRN -d-%DaysAgo% -c"cmd /c del /q @FILE" >> delete_old_backup.log  echo Delete the log backup Stop at %Date% - %time% >>delete_old_backup.log  echo --------------------------------------------- >>delete_old_backup.log

腳本編寫、測試成功后,然后設置Task Schedule,大體步驟如下步驟所示:

Step 1:在控制面板找到任務計劃,執行任務計劃向導:

forfiles,批量刪除,N天前文件

Step 2: 點擊“瀏覽”按鈕,選擇M:/DB_BACKUP/delete_old_backup.bat文件

forfiles,批量刪除,N天前文件

Step 3:輸入任務的名稱,以及執行任務的Schedule

forfiles,批量刪除,N天前文件

Step 4:設置任務執行的時間以及頻率

forfiles,批量刪除,N天前文件

Step 5:輸入知曉計劃任務的賬號以及密碼

forfiles,批量刪除,N天前文件

Step 6:完成任務計劃設置。

forfiles,批量刪除,N天前文件

上面的bat主要是支持參數與日志的現實,確實不錯,其實核心代碼就是這樣的

forfiles /p "c:/backup" /d -10 /c "cmd /c echo deleting @file ... && del /f @path"

測試前最好備份一下數據

 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲男女自偷自拍图片另类| 77777亚洲午夜久久多人| 欧美大尺度在线观看| 色哟哟入口国产精品| 亚洲最大福利视频网| 成人信息集中地欧美| 久久伊人精品视频| 成人免费网视频| 亚洲第一精品电影| 久久天堂av综合合色| 久久久久亚洲精品成人网小说| 亚洲欧美激情精品一区二区| 国产精品va在线播放我和闺蜜| 欧美风情在线观看| 国产免费亚洲高清| 亚洲午夜女主播在线直播| 午夜精品三级视频福利| 国产精品国产福利国产秒拍| 久久综合久久八八| 亚洲视频在线观看网站| 色777狠狠综合秋免鲁丝| 成人免费xxxxx在线观看| 国产精品h片在线播放| 亚洲一区二区三区xxx视频| 77777亚洲午夜久久多人| 国产精品一区二区女厕厕| 成人激情电影一区二区| 午夜精品一区二区三区在线视| 国产亚洲精品久久久优势| 在线日韩精品视频| 亚洲天堂男人天堂| 国产91精品在线播放| 欧美精品日韩三级| 97在线视频免费| 91久久久久久国产精品| 久久中文精品视频| 亚洲经典中文字幕| 精品夜色国产国偷在线| …久久精品99久久香蕉国产| 亚洲自拍高清视频网站| 国产精品女人久久久久久| 色综合视频一区中文字幕| 亚洲福利在线观看| 91亚洲一区精品| 欧美激情一区二区三区高清视频| 亚洲成人亚洲激情| 日韩国产欧美精品在线| 国产一区视频在线播放| 久久成人精品电影| 国产欧美一区二区三区久久| 日韩激情视频在线| 在线成人一区二区| 欧美在线视频一区| 久热精品在线视频| 在线精品国产成人综合| 国产精品丝袜一区二区三区| 欧美精品手机在线| 亚洲精品欧美日韩专区| 亚洲精品国产成人| 亚洲天堂免费视频| 欧美在线性爱视频| 尤物yw午夜国产精品视频明星| 久久精品亚洲一区| 国产一区二区三区欧美| 欧美国产视频一区二区| 午夜精品视频在线| 欧洲亚洲女同hd| 欧美一乱一性一交一视频| 久久91超碰青草是什么| 日韩在线视频观看正片免费网站| 亚洲国产欧美一区二区丝袜黑人| 久久大大胆人体| 国产成人精品视频在线观看| 欧亚精品中文字幕| 国产丝袜一区二区| 亚洲福利在线观看| 91tv亚洲精品香蕉国产一区7ujn| 欧美另类69精品久久久久9999| 伊是香蕉大人久久| 97婷婷涩涩精品一区| 亚洲区免费影片| 国产欧美日韩精品专区| 精品久久久视频| 91精品国产亚洲| 国产精品欧美久久久| 九九热这里只有在线精品视| 992tv成人免费影院| 97视频在线观看免费| 2021国产精品视频| 色偷偷噜噜噜亚洲男人的天堂| 日韩精品一区二区三区第95| 日韩国产欧美精品在线| 亚洲性生活视频在线观看| 国产91精品久久久久久久| 欧美日韩国产一中文字不卡| 国产精品久久综合av爱欲tv| 欧美午夜激情在线| 欧美日韩国产在线| 国产欧美日韩专区发布| 亚洲日本aⅴ片在线观看香蕉| 久久99久国产精品黄毛片入口| 亚洲福利在线视频| 欧美激情视频在线| 性色av一区二区三区红粉影视| 亚洲成年网站在线观看| 亚洲精品av在线| 91精品视频在线| 精品久久久香蕉免费精品视频| 最近2019年手机中文字幕| 亚洲色图激情小说| 久久国产视频网站| 91久久久久久久| 日韩亚洲成人av在线| 日韩在线不卡视频| 欧美激情a在线| 91精品国产色综合| 国产精品成人va在线观看| 色综合天天狠天天透天天伊人| 欧美三级免费观看| 美女久久久久久久| 国产精品福利无圣光在线一区| 欧美性20hd另类| 日韩国产激情在线| 欧美日韩激情小视频| 国产一区二区三区在线免费观看| 国产日韩欧美视频| 最近2019免费中文字幕视频三| 国产欧美日韩专区发布| 国产精品久久久久久久久久尿| 欧美视频在线视频| 亚洲福利精品在线| 亚洲精品免费在线视频| 91精品国产91久久久| 国产成人中文字幕| 亚洲精品av在线播放| 精品人伦一区二区三区蜜桃网站| 久久久91精品国产一区不卡| 久久久成人精品| 欧美精品福利视频| 亚洲综合在线中文字幕| 日韩综合视频在线观看| 色青青草原桃花久久综合| 国产精品无码专区在线观看| 91久热免费在线视频| 亚洲成人激情图| 久久大大胆人体| 成人国产亚洲精品a区天堂华泰| 亚洲国产精品久久久久秋霞蜜臀| 欧美激情久久久久久| 日韩精品中文字幕在线| 欧美亚洲第一区| 欧美电影免费播放| 国产精品黄色影片导航在线观看| 一区二区三区亚洲| 91精品国产自产在线| 国产精品久久久久久久av大片| 欧美性猛交xxxx富婆弯腰| 欧美性受xxxx黑人猛交| 俺去啦;欧美日韩| 欧美裸体男粗大视频在线观看| 97超碰蝌蚪网人人做人人爽| 午夜精品一区二区三区在线| 久久精品成人一区二区三区| 欧美精品午夜视频|