ไม่มีวิธีที่จะพึ่งพาวันที่เมื่อคัดลอกหรือย้ายไฟล์ไปยังโฟลเดอร์ Windows จัดการเพื่อเก็บรักษาไว้ในระบบไฟล์ไดรฟ์เครือข่ายที่ใช้ร่วมกัน ฯลฯ คุณอาจสามารถทำงานกับเซิร์ฟเวอร์ไฟล์ linux หรือป้องกันไม่ให้ผู้อื่นคัดลอกไฟล์โดยตรงโดยใช้ FTP หรือระบบอัพโหลดบนเว็บ
หากคุณโอเคกับคนที่ไม่สามารถแก้ไขไฟล์หลังจากอัพโหลดได้คุณอาจมีโฟลเดอร์อัพโหลดและเข้าถึงแยกต่างหากและสคริปต์ที่ย้ายไฟล์ระหว่างพวกเขาและเปลี่ยนวันที่ใหม่ แต่ดูเหมือนว่าคุณต้องการให้ผู้อื่นสามารถแก้ไขไฟล์ได้โดยตรง
วิธีแก้ปัญหาง่ายๆคือถ้าแฮ็คค่อนข้างจะยุ่งกับวันที่ ฉันจะเขียนสคริปต์สอง:
สคริปต์เปลี่ยนวันที่รายชั่วโมง
ให้สคริปต์รันหนึ่งครั้งต่อชั่วโมงหรือมากกว่านั้นในภาษาที่คุณต้องการ:
- ค้นหาไฟล์ที่มีวันที่แก้ไขภายใน 20 ปีที่ผ่านมา
- เมื่อพบไฟล์ดังกล่าวให้เปลี่ยนวันที่แก้ไขเป็นวันนี้ลบ 20 ปี
ใน PowerShell มันจะมีลักษณะดังนี้:
$path = "D:\test"
$today = Get-Date
$before = $today.AddDays(-7300) #356*20 days
Get-ChildItem -Recurse -Path $path | foreach {
if ($_.LastWriteTime -gt $before) {
Write-Host $_.Name
$_.LastWriteTime = $before
}
}
ใช้งานสคริปต์นี้วันนี้ (27 พฤษภาคม) ตั้งค่าวันที่แก้ไขของไฟล์ทั้งหมดเป็น 1 มิถุนายน 1994 - เท่ากับ 356 * 20 วันก่อน เนื่องจากมีการเปลี่ยนแปลงเฉพาะไฟล์ที่ใหม่กว่าค่า $ ก่อนมันจะไม่แตะไฟล์ที่เคยตั้งค่าไปแล้วในอดีต
สคริปต์การล้างข้อมูล
สคริปต์การล้างข้อมูลจะทำงานทุกคืนและ:
- ค้นหาไฟล์ที่มีการแก้ไขวันที่ "20 ปีและสิบวันที่ผ่านมา"
- ลบทิ้ง
ฉันจะไม่เขียนสคริปต์สำหรับส่วนนี้ - มียูทิลิตี้มากมายที่สามารถจัดการกับการลบไฟล์ที่เก่ากว่าวันที่ที่ระบุเลือกได้ตามที่คุณต้องการ ส่วนที่สำคัญคือการค้นหาไฟล์ที่มีอายุ 7300 + X วันโดยที่ X คือจำนวนวันที่คุณต้องการเก็บไว้นับตั้งแต่มีการแก้ไขครั้งล่าสุด
ข้อดี
นี่เป็นข้อได้เปรียบเหนือคำตอบอื่น ๆ ที่นี่:
- ตัวจับเวลาจะรีเซ็ตหากมีคนแก้ไขไฟล์
- ไม่จำเป็นสำหรับสตรีมสำรอง NTFS เพื่อทำเครื่องหมายไฟล์ (ซึ่งถูกสงวนไว้เมื่อย้ายไฟล์ดังนั้นอาจทำให้การลบไฟล์ที่ถูกปรับเปลี่ยนก่อนกำหนด)
- ควรมีน้อยที่สุดหากมีผลกระทบต่อประสิทธิภาพ ไม่จำเป็นต้องเก็บฐานข้อมูลหรือรายการชื่อไฟล์และ / หรือแฮช
- ไม่มีอะไรแตกสลายอย่างน่ากลัวหากสคริปต์ล้มเหลวในการทำงาน ไม่มีบริการหรือรันโปรแกรมอย่างต่อเนื่องที่จำเป็นในการอัพเดทวันที่ เพียงแค่สองสามงานที่กำหนดไว้ โซลูชั่นที่ต้องพึ่งพาการเฝ้าดูไฟล์ใหม่และการอัพเดทเวลาที่แก้ไขล่าสุดเป็นตอนนี้อาจสิ้นสุดการลบไฟล์ใหม่ได้ถ้าบริการล้มเหลวหรือทำงานผิดพลาด
ปัญหาเดียวที่ฉันเห็นคือถ้ามีคนคัดลอกไฟล์ที่ถูกแก้ไขครั้งล่าสุดเมื่อ 20 ปีก่อนไปยังโฟลเดอร์ดรอป ฉันคิดว่าในสถานการณ์ส่วนใหญ่ที่ไม่น่าเป็นปัญหามากนัก แต่อาจเกิดขึ้นได้