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

首頁 > 編程 > BAT > 正文

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

2020-07-26 20:11:39
字體:
來源:轉載
供稿:網友

在整理手上幾臺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 而且參數后面不能有空格。

clipboard 

如下所示,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:在控制面板找到任務計劃,執行任務計劃向導:

clipboard[7]

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

clipboard[8]

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

clipboard[9]

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

clipboard[10]

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

clipboard[11]

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

clipboard[12]

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

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

測試前最好備份一下數據

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲娇小xxxx欧美娇小| 日本欧美黄网站| 日韩二区三区在线| 亚洲午夜精品视频| 九九久久久久99精品| 欧美亚洲伦理www| 日韩精品有码在线观看| 91国在线精品国内播放| 国产精品久久国产精品99gif| 欧美成在线视频| 国产免费一区二区三区在线能观看| 久久综合久中文字幕青草| 久久精品在线播放| 欧美大人香蕉在线| 国产国产精品人在线视| 欧美国产精品人人做人人爱| 91精品久久久久久久久| 97色在线视频| 国产一区二区三区毛片| 亚洲第一男人av| 亚洲性夜色噜噜噜7777| 亚洲欧美一区二区精品久久久| 欧美日产国产成人免费图片| 国产精品对白刺激| 亚洲日本成人女熟在线观看| 国产精品久久久久久婷婷天堂| 国产一区二区三区在线| 在线日韩av观看| 亚洲第一精品自拍| 色老头一区二区三区在线观看| 91国语精品自产拍在线观看性色| 亚洲人成在线免费观看| 黑人巨大精品欧美一区二区三区| 成人女保姆的销魂服务| 久久精品影视伊人网| 亚洲国产另类久久精品| 亚洲人成自拍网站| 日本久久久久亚洲中字幕| 97香蕉超级碰碰久久免费的优势| 亚洲国产欧美在线成人app| 国产精品久久久久久婷婷天堂| 国产精品色悠悠| 精品久久久久久中文字幕一区奶水| 国产精品影院在线观看| www.欧美免费| 亚洲美女又黄又爽在线观看| 久久99精品久久久久久琪琪| 久久99精品久久久久久青青91| 亚洲福利在线播放| 精品福利一区二区| 日韩av一卡二卡| 麻豆乱码国产一区二区三区| 久久在线免费视频| 国产亚洲福利一区| 日韩av免费在线| 国产成人精品久久亚洲高清不卡| 欧美乱大交做爰xxxⅹ性3| 91高清免费在线观看| 亚洲天堂一区二区三区| 2019亚洲日韩新视频| 92看片淫黄大片看国产片| 欧美激情视频在线免费观看 欧美视频免费一| 中文字幕久热精品在线视频| 国产婷婷97碰碰久久人人蜜臀| 欧美黄网免费在线观看| 一本色道久久88综合日韩精品| 欧美大片欧美激情性色a∨久久| 欧美日韩免费一区| 不卡av日日日| 成人激情电影一区二区| 91亚洲精品久久久| 欧美在线性视频| 欧美日韩国产中字| 伊人av综合网| 国产视频自拍一区| 国产精品欧美日韩| 国产激情综合五月久久| 91在线观看免费高清完整版在线观看| 日韩高清免费在线| 国产精品网站入口| 国产成人福利夜色影视| 青青草精品毛片| 国产91精品久久久| 尤物精品国产第一福利三区| 亚洲精品免费一区二区三区| 中文字幕日韩免费视频| 国产精品视频26uuu| 久久久国产视频91| 丝袜亚洲欧美日韩综合| 欧美老女人在线视频| 亚洲激情自拍图| 国产亚洲精品久久久| 国产精品免费视频久久久| 日韩av电影手机在线观看| 国内成人精品一区| 亚洲精品欧美极品| 国产91久久婷婷一区二区| 国产69精品久久久| 蜜臀久久99精品久久久久久宅男| 综合网中文字幕| 欧美日韩爱爱视频| 欧美精品性视频| 精品国产自在精品国产浪潮| 欧美成人免费全部观看天天性色| 欧美国产极速在线| 性金发美女69hd大尺寸| 亚洲国产精品久久久| 热久久这里只有精品| 国产a级全部精品| 国产精品私拍pans大尺度在线| 97超碰国产精品女人人人爽| 国产主播喷水一区二区| 亚洲黄色av网站| 在线视频国产日韩| 国产精品久久久久久久久久小说| 国产成+人+综合+亚洲欧美丁香花| 亚洲午夜色婷婷在线| 国产亚洲精品久久久久久| 欧美猛少妇色xxxxx| 国产一区二区三区三区在线观看| 91精品久久久久久久久久久久久| 日韩欧美在线视频| 日日骚av一区| 欧美在线一区二区视频| 欧美激情精品久久久久久黑人| 91在线视频一区| 国产成人精品国内自产拍免费看| 欧美日韩国产123| 亚洲精品久久久久中文字幕欢迎你| 红桃av永久久久| 欧美黄色三级网站| 91亚洲国产成人精品性色| 欧美日韩国产二区| 亚洲一区二区三区成人在线视频精品| 国产精品www色诱视频| 性欧美xxxx| 亚洲精品成人免费| www.亚洲成人| 久久久综合av| 日本高清久久天堂| 欧美日韩国产123| 国产精品一区二区电影| 日韩成人在线视频网站| 91sao在线观看国产| 欧美日韩国产精品| 国模精品一区二区三区色天香| 亚洲精品国精品久久99热一| 国产精品一区二区久久精品| 国产亚洲激情视频在线| 国产美女扒开尿口久久久| 久久久av电影| 日韩精品高清视频| 精品视频在线观看日韩| 久久久久久国产三级电影| 国产日韩在线观看av| 在线亚洲男人天堂| 色婷婷久久一区二区| 在线播放国产一区中文字幕剧情欧美| 91精品91久久久久久| 午夜剧场成人观在线视频免费观看| 亚洲精品成人久久电影| 亚洲精品aⅴ中文字幕乱码| 黑人巨大精品欧美一区二区一视频| 亚洲www永久成人夜色|