IT Geek วิธีเก็บไฟล์ด้วยชื่อเดียวกันในการซิงค์
คุณมักจะได้ยินบริการเช่น 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 \ files \ Documents \ Code ไฟล์” Common.vb / B
คำสั่งต่อไปนี้ทำการกระทำการค้นหาเช่นเดียวกับข้างต้นอย่างไรก็ตามมันจะรายงานเฉพาะไฟล์ที่จะถูกแทนที่และไม่ได้ดำเนินการไฟล์ใด ๆ :
UpdateToNewestCopy“ C: \ users \ jfaulkner \ files \ Documents \ Code ไฟล์” 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 นาที (ขึ้นอยู่กับความต้องการของคุณ) คุณสามารถทำให้ไฟล์ซิงค์กันในแบบ set-it-and-forget-it แฟชั่น.
ดาวน์โหลด
อัปเดตเป็นสำเนาล่าสุด - รูปแบบที่ปฏิบัติการได้ถูกแก้ไข
อัปเดตเป็นสำเนาล่าสุด - ไฟล์แบตช์แหล่ง (เน้นบรรทัดคำสั่งเพิ่มเติม)