2009年1月19日 星期一

透過批次指令執行壓縮、備份工作

透過批次指令執行壓縮、備份工作



想要透過腳本程式或批次檔,定期將指定目錄底下的每個檔案,壓製成獨立的壓縮檔,以下提供幾種方法供大家參考。

A.怎麼樣透過腳本程式或批次檔,定期將指定目錄底下的每個檔案,壓製成獨立的壓縮檔?


程式碼(因篇幅限制,完整程式碼請參考網站原文)的功能如下,一些修改程序應該就能滿足你的需求:

1.壓縮指定資料夾下的所有子資料夾下的檔案,只限一層。

2.指定資料夾下的檔案並不會壓縮,可依你的需求自行修改。

3.檔案大於5K才壓縮,可依你的需求自行設定。

4.複製的目的地資料夾必須存在,會依來源資料夾\子資料夾,建立相同的子資料夾。

5.壓縮檔案成功後,會刪除原始檔,如果不想刪檔,請移除22~24行的指令敘述。

6.壓縮檔案搬移到目的地資料夾。


******************************************************************:
1.假設批次檔檔名為zzzzzzz.bat,內容如下:

CD %1
FOR %%I IN(*.*)DO 7z a -tzip "%%I.zip" "%%I"
CD %1
FOR %%I IN(*.*)DO 7z a -tzip "%%I.zip" "%%I"

2.執行方式如下:
zzzzzzz D:\Data\January

執行後他就會改變目錄到「D:\Data\January」之下,並將每一個檔案都用7Zip壓縮,如果原來有50個檔案,執行完成後就會有100個檔案(加了50個壓縮檔),而壓縮檔的名字是原來的檔案後面加上「.zip」。

******************************************************************
我都是用下列程式備份每日的資料。假設備份資料是「我的最愛」:

XCOPY "%userprofile%\Favorites" "d:\backup\Favorites" /D /H /I /S /Y

XCOPY "%userprofile%\Local Settings\Application Data\Google\Chrome\User Data\Default\Bookmarks" "d:\backup\ChromeBookmarks" /D /H /I /S /Y

沒有留言:

Windows Server AD dsquery (查詢指令)

Windows Server  AD  dsquery     ( 查詢指令 ) 通用的參數:    -limit 0   指定傳回符合搜尋條件的物件數目,如果值是 0 ,將傳回所有符合的物件。 如果不指定此參數,根據預設將只顯示前 100 個結果。 ...