星期二, 4月 27, 2010

牌子老,品質好

最近不管是家裡也好,公司也好;都碰到很多要備份檔案,複製檔案的麻煩。

怎說麻煩呢??

檔案多,檔案大,複製起來費時怎麼能說不是麻煩??

而且在WIN XP上來說,複製大量的檔案過程中,還可能發生三個討厭的問題。

一者,複製大量檔案過程中,電腦的效能會明顯的被拖慢。是那種除了硬碟在存取檔案之外,還有不明原因的慢。

二者,大量的檔案的複製過程可能會越來越慢。這純粹是出於我的感覺,沒有實際證據。

三者,當複製了一批大量的檔案之後,有時整個系統始終就是慢慢跑,快不回來。很像是那種記憶體被吃了沒釋放回來的感覺。

基於以上這三個問題,我很少輕易的做出複製大量檔案的動作。當然我的複製大量檔案的數字指的是也許檔案總數超過1000個,總檔案量超過4G這種情形。

當然以我的工作來說,什麼都碰一點的關係,所以各種格式的檔案都可見於我公司的電腦。所以真的在做季節性的備份檔案的時候,檔案總數我想會輕易的破萬,檔案量印象中上一次已經超過60GB。

但是就在這個讓我煩惱大量複製檔案容易影響我工作的時候,還好我夠老,還好我個人電腦從286的時代開始玩起,我想起了我雖然不熟,但其實常常用到的MS-DOS指令。
(286的個人電腦 = 沒有硬碟,只有兩台3.5吋軟碟機,兩台軟碟機還算高檔的年代)

我平常最常用的MS-DOS指令,大概只有三個;「ipdonfig 看這台電腦的IP」、「ping www.hinet.net 查詢中華電信的網域」、「dir /b > list.txt 將某目錄下的檔名寫成文字檔」。

ipconfig通常就是看一下我的電腦的網卡有沒有問題,ping的話就是確認一下公司網路有沒有斷線,dir /b的用法通常是我要把一堆檔案名稱寫成XML的前置作業。

以上三者,主要是第三個喚起了我的回憶,就是我偶而會有檔案數量超級多要寫成文字檔的時候,發現寫入的動作怎麼就是這麼快??

所以我就大膽的先用「copy」這個指令測試了一下,我發現我用copy複製某目錄下所有的檔案到一個新目錄的時候,「感覺上」比用作業系統的「複製/貼上」這個方式要快速。

為了證實我的疑惑,我問了偉大的「偉哥 Jin」。

偉哥跟我說,MS-DOS指令在複製檔案的時候,不經過記憶體,直接操作檔案複製的I/O。

老實說這真的太好了,我就是要這種東西啊!!

經過幾次測試之後,我發現用MS-DOS複製檔案,真的比較不佔系統資源,同時複製的速度也快一點。

一時興起,索性今天晚上拿我家裡電腦的檔案來做了一點小測試。

檔案來源目標:
d:\mp3
371 個目錄 1262 個檔案 8,250,007,972 位元組

以「複製/貼上」方式完整複製:
371 個目錄 1262 個檔案 8,250,007,972 位元組
透過尋找所有檔案,找到最先建立的目錄與最後建立的目錄的時間為;
2010 04 26 23 36 57
2010 04 26 23 44 10
相差 433秒 = 7分13秒

以「MS-DOS xcopy」方式完整複製:
371 個目錄 1262 個檔案 8,250,007,972 位元組
透過尋找所有檔案,找到最先建立的目錄與最後建立的目錄的時間為;
2010 04 26 23 49 19
2010 04 26 23 52 32
相差 193秒 = 3分13秒

用MS-DOS複製的速度快了超過一倍,雖然說我實驗作的並不嚴謹,不過說真的看到這數字還是有爽到。至少這讓我在複製檔案時應該是真的可以省去一些時間。

當然,用MS-DOS也不是沒缺點,指令得自己摸熟了輸入之外,很多動作不經過記憶體,是沒有undo的空間的,當然更不用說會有視覺性的顯示畫面表示目前複製的進度囉~

也許有一天還會挑戰找來內建完整MS-DOS指令的USB碟開機,然後直接在這個環境下用xcopy複製檔案也不一定。



數據更新:
怎麼想都不可能那麼快,突然想起來應該是要看建立時間,不是修改時間...
以「複製/貼上」方式完整複製:
371 個目錄 1262 個檔案 8,250,007,972 位元組
透過尋找所有檔案,找到最先建立的目錄與最後建立的目錄的時間為;
2010 04 26 23 36 57
2010 04 26 23 44 20
相差 443秒 = 7分23秒

以「MS-DOS xcopy」方式完整複製:
371 個目錄 1262 個檔案 8,250,007,972 位元組
透過尋找所有檔案,找到最先建立的目錄與最後建立的目錄的時間為;
2010 04 26 23 45 25
2010 04 26 23 52 35
相差 430秒 = 7分10秒

標籤: ,

0 Comments:

張貼留言

<< Home