copy ไฟล์มากๆ แบบเร็วสุดๆ

เคยมั้ย ต้อง copy ไฟล์เยอะๆ จาก ที่หนึ่ง ไปอีกที่หนึ่ง แล้วต้องรอนานมากกก จนหลับแล้วตื่นมายังไม่เสร็จอีก ไม่แค่นั้น ระหว่าง copy มี error ไฟล์นึง ต้องเริ่มใหม่หมด มีวิธีแก้ง่ายนิดเดียว

ก่อนอื่นออกตัวก่อน ว่าเทคนิคนี้ผมค้นพบโดยบังเอิญ โดยคิดเอาจากหลักการทำงานของหลายๆอย่าง เพื่อทำอย่างไร จะให้ copy ไฟล์เยอะๆได้เร็วที่สุด แล้วจะอธิบายเหตุผลด้วย ว่าเพราะอะไรถึงเร็วกว่า แล้วมีข้อจำกัดคืออะไรบ้าง

เพราะว่าผมเองมีเว็บในเครื่องเยอะมาก ถ้าคนที่ทำเว็บมาเยอะจริงๆจะเข้าใจว่าไฟล์เว็บมารวมๆกันมันเยอะแค่ไหน จริงๆขนาดมันก็ไม่ได้ใหญ่หรอกครับ เพราะว่าเว็บหน้านึง หรือไฟล์นึงก็ไม่กี่ K byte เอง แต่ว่าเว็บนึงมีเป็นร้อยเป็นพันนี่สิครับ ปัญหาเกิดเลย เพราะว่าตอนที่ copy ไฟล์พวกนี้ มันจะเสียเวลามาก ถ้าใครเคย copy ก็จะเข้าใจ ยิ่งถ้าต้อง copy ทั้งไปและกลับ (เอาไปพักที่อื่นเพื่อเตรียม format เครื่องแล้วเอากลับมาวางที่เดิม)จะรู้เลย นรกมีจริงงานการไม่ต้องทำ เสียสมาธิต้องมานั่งเฝ้า กลัวจะได้มาไม่ครบอีก

สำหรับวิธีแก้ง่ายจริงๆครับ ไม่ต้องลงโปรแกรมอะไรเสริมเลยแต่ขอเพียงว่าเครื่องท่านควรจะมี winzip, winrar, 7-zip หรือโปรแกรมอื่นที่มีหน้าที่เพื่อการบีบอัด และขยายไฟล์แล้วกันนะครับจึงจะสามารถใช้เทคนิคนี้ได้ ซึ่งเชื่อเหลือเกินว่าเครื่องคนส่วนใหญ่ต้องมีโปรแกรมประเภทนี้ อย่างน้อย 1 โปรแกรมอยู่แล้วล่ะ จึงไม่ต้องเสียเวลาตามหาโปรแกรมมาใช้

หลายคนแก้ปัญหาด้วยการเอาโปรแกรมมาลง (ไม่เอ่ยชื่อโปรแกรมนะครับ เดี๋ยวจะหาว่าโจมตี) ซึ่งผมก็ลองมาแล้วทั้งนั้น ไม่เห็นผลครับ

ใส่น้ำไปเยอะ เข้าเรื่องแล้วกันครับ วิธีที่ว่าก็คือการรวมไฟล์ทั้งหมด ให้เป็นก้อนเดียว ก่อนการ copy เทคนิคผมมีแค่นี้เองครับ ง่ายมั้ยครับ แค่นี้ จะช่วยให้การ copy ไฟล์นั้นเร็วอย่างไม่น่าเชื่อเลย

สำหรับการรวมไฟล์เป็นก้อนเดียวนั้น สามารถรวมได้ด้วยการเอาโปรแกรม บีบอัดไฟล์มาประยุกต์ใช้ครับ ซึ่งหากโปรแกรมไหนสามารถตั้งความละเอียดในการบีบได้ก็ให้ตั้งไว้ต่ำสุด(เช่นโปรแกรม 7-zip, winrar) หรือไม่บีบเลย แค่ pack เป็นก้อนเท่านั้น เพราะว่าเป้าหมายของเราแค่ต้องการ copy ไฟล์ทั้งหมด ไม่ได้ต้องการบีบไฟล์ ซึ่งการตั้งค่าจุดนี้จะทำให้ลดเวลาการรวมไฟล์ไปได้มากเลยครับ เช่นปกติ อาจจะใช้เวลาบีบอัดไฟล์ทั้งหมด 5 วินาที(กรณีไม่ตั้งค่า) ก็เหลือแค่ 1 วินาทีเท่านั้นเองครับ

ทีนี้พอเรารวมไฟล์ทั้งหมดได้ก้อนเดียวแล้ว เราก็ copy แค่ก้อนเดียวนี่ล่ะครับ ไปไว้ยังปลายทางที่เราต้องการเป็นอันเสร็จ

พอเวลาจะใช้ก็ copy ก้อนนี้กลับมาแล้วแตกไฟล์ออก ด้วยโปรแกรมเดิมที่บีบ หรือรวมไฟล์เข้าไปก็เสร็จแล้วครับ ง่ายมากๆเลย

ผมเคยลองกับเครื่องผมเอง ขนาดแฟ้มประมาณ 14 GB มีไฟล์เก็บหลักแสนไฟล์ ใช้เวลา copy อยู่ประมาณครึ่งวัน แต่พอใช้วิธีนี้ ใช้เวลารวมไฟล์อยู่ประมาณชั่วโมงเดียว แล้ว copy อีกสักครึ่งขั่วโมงได้ก็เสร็จแล้วมันต่างกันอย่างเทียบไม่ได้เลยครับ

สำหรับสาเหตุว่าทำไมถึงเร็วกว่า ผมคิดเอง ว่าน่าจะเป็นเพราะว่า ก่อนเริ่มกระบวนการ copy windows จะทำการตรวจสอบไฟล์ทั้งหมดของต้นฉบับเพื่อคำนวนขนาด ซึ่งจำนวนไฟล์ที่มากก่อเป็นผลเสียอย่างแรก เพราะว่าทำให้หัวอ่าน harddisk ต้องขยับไปมามาก และต่อจากนั้นคือกระบวนการ copy ที่หัวอ่าน harddisk ต้องอ่านแต่ละไฟล์ที่เก็บในตำแหน่งต่างๆอีกด้วย

โดยความเร็วของหัวอ่านขยับไปแต่ละจุด ผมให้เฉลี่ยอยู่ที่ประมาณ 100ms (มิลลิวินาที) ถ้ามี 100,000 ไฟล์ จะต้องใช้เวลา (100,000*100/1000)/60 = 166.67 นาที หรือสองชั่วโมงโดยประมาณ นี่นับเฉพาะเวลาการ copy ยังไม่นับเวลาที่มา fetch ไฟล์ทั้งหมดตอนเริ่มต้น ก็กินขาดแล้ว

แต่ว่า ถ้าไฟล์ไม่เยอะมาก เช่นมีไม่กี่ร้อยไฟล์ หรือแต่ละไฟล์มีขนาดใหญ่ระกับหลาย MB ก็ไม่จำเป้นต้องใช้วิธีนี้ครับไม่เห็นผล เสียเวลาในการบีบไฟล์ คลายไฟล์อีก

ลองดูนะครับ เทคนิคนี้ผมใช้ทุกวันครับ เพราะว่าต้อง sync ไฟล์เว็บ จาก บ้าน <> netbook <> ที่ทำงานทุกวันครับ ถ้าไม่บีบไฟล์ก่อน ก็ copy กันเหงือกแห้งล่ะครับ


เขียน: 2010-05-25 10:38:13 แก้ไข : 2010-05-25 10:38:13 อ่าน : 10760
tag : copy เร็ว,ลดเวลา copy, copy file,copy ให้เร็ว, copy ช้ามาก,เสียเวลา copy