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

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

ก่อนอื่นออกตัวก่อน ว่าเทคนิคนี้ผมค้นพบโดยบังเอิญ โดยคิดเอาจากหลักการทำงานของหลายๆอย่าง เพื่อทำอย่างไร จะให้ 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 กันเหงือกแห้งล่ะครับ

Create: Modify : 2010-05-25 10:38:13 Read : 30922 URL :