windows for循環 批量查找文件用winrar壓縮並刪除原文件

需求:因MSSQL2005備份無壓縮功能,爲節約空間對備份做壓縮。

解決思路:查找備份目錄下所有.bak備份文件壓縮並刪除原文件


命令如下:

FOR /R "D:\_SQL_DATA_BACK" %f in (*.bak) DO "C:\Program Files\WinRAR\WinRAR.exe" a -tk -ep1 -m5 -df -y "%f.rar" "%f"


bat腳本如下:

@echo off
FOR /R "D:\_SQL_DATA_BACK" %%f in (*.bak) DO "C:\Program Files\WinRAR\WinRAR.exe" a -tk -ep1 -m5 -df -y "%%f.rar" "%%f"
pause

注:%%是在批處理文件中變量符號,如果在CMD執行的話就應該是一個%。批處理文件在被解析的時候其中一個%被過濾掉,所以才用兩個。


for循環使用方法:

FOR /R [[drive:]path] %variable   IN (set)   DO  command [command-parameters]

for   /R  [路徑]   %variable傳參(bat腳本使用%%f,命令%f)  in (set)    do 命令[command-parameters]


winrar參數解釋:
    a    添加文件到壓縮文件
    tk    保留原始壓縮文件時間
    ep1    從名稱中排除基本目錄
    m<0..5> 設置壓縮級別(0-存儲3-默認5-最大)
    df    壓縮後刪除文件
    y     假設對全部詢問都回答是

                           







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