คุณน่าจะเคยได้ยินเกี่ยวกับบริการต่างๆเช่น Dropbox ซึ่งใช้เพื่อซิงค์ไฟล์ในหลาย ๆ เครื่อง อย่างไรก็ตามหากคุณต้องการดำเนินการนี้ในเครื่องเดียวจะเป็นอย่างไร? นั่นคือเก็บไฟล์ที่มีชื่อไฟล์เดียวกันไว้ในเครื่องเพื่อให้ตรงกันเมื่อไฟล์ใดไฟล์หนึ่งเปลี่ยนไปไฟล์เหล่านั้นจะได้รับการอัปเดตทั้งหมด
ฟังก์ชันนี้มีประโยชน์มากโดยเฉพาะอย่างยิ่งสำหรับนักพัฒนาหรือผู้ดูแลระบบที่บางครั้งต้องมีการทำสำเนาไฟล์
มันทำงานอย่างไร
สมมติว่าคุณเป็นนักพัฒนาเว็บที่ได้รวบรวมฟังก์ชัน Javascript ที่ดีซึ่งคุณใช้ในเว็บไซต์ทั้งหมดที่คุณดูแลอยู่ตลอดเวลา เมื่อคุณเพิ่มหรือปรับปรุงไฟล์ Javascript นี้ (ขอเรียกว่า "library.js") เฉพาะสำเนาปัจจุบันที่คุณกำลังแก้ไขเท่านั้นที่จะอัปเดต ซึ่งหมายความว่าตัวอย่างเช่นหากคุณทำการแก้ไขข้อบกพร่องหรือปรับปรุงคุณจะต้องนำไปใช้กับโฟลเดอร์ซอร์สโค้ดของไซต์อื่น ๆ ด้วยตนเองเช่นกัน
เครื่องมือของเราพยายามแก้ปัญหาที่ต้องไปใช้ไฟล์ที่อัปเดตกับแต่ละโฟลเดอร์ต้นทางด้วยตนเอง มันทำอะไร:
- ค้นหาไฟล์ทั้งหมดที่มีชื่อที่ระบุ (library.js) ภายในโฟลเดอร์รูทที่ระบุ (% UserProfile% \ Documents \ Web Sites)
- สำหรับไฟล์ทั้งหมดที่ชื่อ library.js จะค้นหาไฟล์ที่แก้ไขล่าสุดและบันทึกค่าแฮชของไฟล์
- ไฟล์อื่น ๆ ทั้งหมดที่มีชื่อว่า library.js (ซึ่งไม่ใช่สำเนาที่อัปเดตล่าสุด) จะมีค่าแฮชของไฟล์เทียบกับไฟล์ล่าสุด (กำหนดในขั้นตอนก่อนหน้า)
- หากค่าแฮชของไฟล์แตกต่างกันสำเนาของ library.js ตามลำดับจะถูกแทนที่ด้วยสำเนาที่อัปเดตล่าสุด
เพราะเราใช้ ค่าแฮช เพื่อเปรียบเทียบไฟล์เรามั่นใจได้ว่าไฟล์ใด ๆ ที่ถูกแทนที่จะแตกต่างจากสำเนาล่าสุดอย่างแน่นอน ตัวอย่างเช่นหากคุณต้องรันกระบวนการและมีการเปลี่ยนไฟล์ 5 ไฟล์การรันกระบวนการอีกครั้งในทันทีหลังจากนั้นจะไม่ทำการแทนที่ใด ๆ เนื่องจากตอนนี้ค่าแฮชของไฟล์เหมือนกัน
อัปเดตเป็นเครื่องมือคัดลอกใหม่ล่าสุด
เครื่องมืออัปเดตเป็นเครื่องมือคัดลอกใหม่ล่าสุดเป็นเวอร์ชันแก้ไขของสคริปต์แบตช์ที่มีชื่อเดียวกัน (สามารถดาวน์โหลดได้โดยใช้ลิงก์ที่ด้านล่างของบทความ) ซึ่ง ถูกแปลงเป็นไฟล์ EXE เพื่อรวมสิ่งที่จำเป็น ยูทิลิตี้ Nirsoft HashMyFiles . ต้องเรียกใช้เครื่องมือจากบรรทัดคำสั่งโดยระบุพารามิเตอร์บางอย่างไว้ หากคุณเพียงแค่เรียกใช้ไฟล์ EXE โดยดับเบิลคลิกคุณจะได้รับข้อความระบุสิ่งนี้
หากต้องการใช้อัปเดตเป็นสำเนาใหม่ล่าสุดคุณสามารถดูพารามิเตอร์ได้โดยเรียกใช้“ UpdateToNewestCopy /?” ซึ่งแสดงกล่องโต้ตอบต่อไปนี้:
พารามิเตอร์ที่จำเป็นเท่านั้นคือ SourceFolder (เช่น% UserProfile% \ Documents \ Web Sites) และ FileName (library.js) อย่างไรก็ตามคุณสามารถปรับเปลี่ยนฟังก์ชันการทำงานได้โดยเพิ่มสวิตช์เพิ่มเติมตามที่อธิบายไว้ข้างต้น
ตัวอย่าง
คำสั่งต่อไปนี้จะค้นหาไฟล์ทั้งหมดที่ชื่อ“ Common.vb” ภายในโฟลเดอร์“ C: \ users \ jfaulkner \ documents \ Code Files” ทำการแทนที่ แต่ทำการสำรองข้อมูลของสำเนาปัจจุบันก่อนที่จะเขียนทับ (เอาต์พุตนี้เป็นสิ่งที่สร้าง ภาพยอดนิยมสำหรับบทความนี้):
UpdateToNewestCopy“ C: \ users \ jfaulkner \ documents \ Code Files” Common.vb / B
คำสั่งต่อไปนี้ดำเนินการค้นหาเช่นเดียวกับด้านบน แต่จะรายงานเฉพาะไฟล์ที่จะถูกแทนที่และไม่ได้ดำเนินการกับไฟล์ใด ๆ จริง:
UpdateToNewestCopy“ C: \ users \ jfaulkner \ documents \ Code Files” Common.vb / V
สมมติว่ามีไฟล์ชื่อ“ C: \ Config \ FilesToSearch.txt” ที่มีเนื้อหาต่อไปนี้:
library.js
Common.vb
คำสั่งต่อไปนี้จะค้นหาโฟลเดอร์เอกสารของฉันของผู้ใช้ปัจจุบันและรายงานเกี่ยวกับการอัปเดตใด ๆ ของ“ library.js” และ“ Common.vb” แต่จะไม่ดำเนินการอัปเดตใด ๆ :
UpdateToNewestCopy“% UserProfile% \ Documents”“ C: \ Config \ FilesToSearch.txt” / L / V
ทำให้กระบวนการเป็นอัตโนมัติ
กระบวนการนี้เป็นตัวเลือกที่เหมาะสำหรับระบบอัตโนมัติ โดย สร้างงานตามกำหนดเวลา (ไม่จำเป็นต้องใช้อะไรเป็นพิเศษ) ด้วยการตั้งค่าที่ระบุและเปิดใช้งานทุกวัน / รายชั่วโมง / ทุกๆ 15 นาที (ขึ้นอยู่กับความต้องการของคุณ) คุณจะสามารถซิงค์ไฟล์ในรูปแบบที่ตั้งไว้และลืม
ดาวน์โหลด
อัปเดตเป็นสำเนาใหม่ล่าสุด - แก้ไขรูปแบบปฏิบัติการได้
อัปเดตเป็นสำเนาใหม่ล่าสุด - ไฟล์แบตช์ต้นทาง (เน้นบรรทัดคำสั่งเพิ่มเติม)