FishCabTool特色功能
專為備份源代碼而設(shè)計(jì),可以選擇性地排除源代碼目錄中一些不需要備份的文件,如:obj目錄及.pdb和其它源代碼版本控制信息之類的“垃圾”文件。
操作方式和現(xiàn)今流行的壓縮軟件一致,直接在資源管理器的右鍵菜單中操作。
生成的壓縮包采用cab的壓縮格式,兼容現(xiàn)今流行的各類壓縮軟件。
壓縮包的文件名包含當(dāng)天的操作日期,便于版本管理及日后查找。
更靈活的備份選擇,可以將多個(gè)目錄及多個(gè)分區(qū)中的某些目錄或文件壓縮到一個(gè)壓縮包中。
可以方便地獲取一個(gè)目錄或文件的完整路徑名。
可以方便地從任何目錄打開命令行窗口。
我想很多人都在網(wǎng)上下載過(guò)一些示例代碼,或者收到一些別人給的示例代碼。 通常為了方便,都是打成一個(gè)壓縮包的形式。 不過(guò),有些人做事比較馬虎,經(jīng)常就是直接將VS生成的解決方案目錄直接打包, 這樣就會(huì)包含大量垃圾文件,諸如:obj目錄下的所有文件,而且有時(shí)bin目錄還有二個(gè)目錄,PDB文件有二份, 甚至連xxx.vshost.exe文件也有二份!更讓人無(wú)語(yǔ)的是,有些人用SVN這種源代碼管理軟件,每個(gè)目錄還有個(gè).svn目錄!
這種做法顯然很容易將一個(gè)不大的項(xiàng)目搞成一個(gè)比較大的壓縮包,這種壓縮包一旦做好,上傳也慢,人家下載也慢,還會(huì)浪費(fèi)許多服務(wù)器資源, 下載到這種壓縮包,只能讓人無(wú)語(yǔ)了。沒(méi)辦法,有些人就是很懶,而且那些壓縮軟件也不懂這是個(gè)源代碼目錄,反正是見文件就壓縮! 雖然很悲劇,但悲劇卻一直在重復(fù)上演!現(xiàn)實(shí)就是這樣,估計(jì)有些人已經(jīng)麻木了!
我是個(gè)追求完美的人,自然是不希望讓悲劇在我這里重復(fù)上演。 我不希望浪費(fèi)我的上傳時(shí)間,不希望浪費(fèi)服務(wù)器的硬盤資源,不希望浪費(fèi)服務(wù)器的帶寬,也不希望浪費(fèi)所有網(wǎng)友的下載時(shí)間, 更不希望有人會(huì)因此而罵我。因此我每次做出來(lái)的壓縮包是不包含那些垃圾文件的。 我是如何做的呢?很簡(jiǎn)單啊,不要把一些垃圾文件打包進(jìn)去不就好了嗎?還要怎樣?
終于有一天,我也受不了了,尤其是我平時(shí)喜歡寫點(diǎn)小東西,每天改了之后要備份,也要用壓縮包,但我不想浪費(fèi)硬盤空間啊。 在一次一次地被那些壓縮軟件折磨后,我還是選擇自己來(lái)設(shè)計(jì)一個(gè)工具來(lái)專門解決這個(gè)問(wèn)題。 不就是個(gè)壓縮的事情不好解決嘛,那我就自己做吧,反正現(xiàn)在的壓縮類庫(kù)是一大把, 不過(guò),我最終還是選擇了Windows自帶的FCI/FDI接口,它能直接生成cab格式的壓縮包,且現(xiàn)在流行的各種壓縮軟件都能支持它。
選擇它還有其它原因:1.我早在使用C#之前就已經(jīng)使用過(guò)它了,有現(xiàn)成的包裝庫(kù)(C語(yǔ)言版的,速度還不錯(cuò)),
2.由于是Windows自帶的接口,因此不需要引入額外的組件,工具可以保持較小的體積,
3.cab算法的壓縮率還不錯(cuò),比zip要好(與rar相當(dāng),比7z差點(diǎn))。