因為想把整個目錄底下的檔案及子目錄都壓縮起來備份. 所以去 google 一下如何把路徑名稱也一併包含在壓縮檔中.
語法:
7z a zipfile_name.7z @ziplistfile.lst
其中 ziplistfile.lst 裡包含了有要壓縮的檔名及路徑.
如果目錄的結構如下:
dir1\1.bin
2.bin
3.prj
a.exe
+--- subdir1\
a.txt
b.txt
c.bin
+--- subdir2\
1.txt
2.doc
3.doc
++---subdir22
20.txt
21.txt
我要把 dir1\a.exe 及 subdir1 及 subdir2 底下的檔案全壓縮. 那麼 ziplistfile.lst 的內容就會像以下這樣:
a.exe
subdir1\
subdir2\
之後把這些寫成 batch file, 存在要壓縮的目錄下, 就可以很容易達成要壓縮的目地了.
batch file 的內容(把檔名加入日期):
setlocal
set hh=%time:~0,2%
if "%time:~0,1%"==" " set hh=0%hh:~1,1%
set yyyymmdd_hhmm=%date:~0,4%%date:~5,2%%date:~8,2%_%hh%%time:~3,2%
7z a backup_%yyyymmdd_hhmm%.7z @backupfilelist.txt
move backup__%yyyymmdd_hhmm%.7z .\backup
這樣就 ok 了.
如果不想把 subdir2\subdir22 給包進去, 再寫一個 exculde file list (exfilelist.txt):
subdir2\subdir22\
接下來把 command 改成:
7z a -x@exfilelist.txt backup_%yyyymmdd_hhmm%.7z @backupfilelist.txt
ok!
星期二, 2月 22, 2011
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言