ในระบบ windows การเปลี่ยนชื่อไฟล์จะคล้ายกับการลบไฟล์หรือไม่


9

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

กรณีเฉพาะที่คำตอบนี้ขึ้นอยู่กับระบบฝังตัวที่ทำงานบน Windows 2000 คู่มือผู้ให้บริการแนะนำผู้ใช้ในการลบไฟล์ภายในโฟลเดอร์ ในฐานะผู้ใช้ที่ระมัดระวังฉันเพียงคัดลอกไฟล์ไปยังเส้นทางที่เรียกว่า "folder_backup" และปล่อยให้โฟลเดอร์ว่างเปล่า

ระหว่างการดำเนินการนี้ระบบถดถอยและไม่สามารถทำงานได้อย่างถูกต้อง ดังนั้นผู้ให้บริการที่เขียนคู่มือจึงถูกเรียก การวินิจฉัยของพวกเขาคือฐานข้อมูลเสียหายเพราะมี 2 ฐานข้อมูลพร้อมกันชี้ไปที่ "folder_backup" เป็นฐานข้อมูลที่สอง เพื่อความเข้าใจของฉันไฟล์ภายใน "D: / folder_backup" จะเฉื่อยยกเว้นกรณีพิเศษของโปรแกรมที่ค้นหาโฟลเดอร์ที่ขึ้นต้นด้วย "โฟลเดอร์" หรืออ่านเนื้อหาทั้งหมดในไฟล์ "D: /"

ไฟล์ที่ถูกเปลี่ยนชื่อยังคงสามารถเข้าถึงได้โดยระบบที่ไม่คลุมเครืออะไรที่ไฟล์นั้นถูกลบทิ้งไป?


1
อันที่จริงแล้วคุณได้ทำการคัดลอกไฟล์ (มีสองชุดในบางจุดแล้วลบต้นฉบับ) หรือเพียงแค่ย้ายมัน
GSerg

1
ระบบกำลังทำงานอยู่ในขณะที่อ่านฐานข้อมูลเหล่านั้นหรือไม่ เป็นไปได้บน Windows (Linux ด้วย) เพื่อคัดลอกไฟล์ขณะที่เปิด (ขึ้นอยู่กับแอปพลิเคชันที่เปิดไฟล์ใน "โหมด" บางอย่าง) ซึ่งอาจส่งผลให้เกิดสำเนาที่เสียหาย BTW
davidbak

@davidbak Negative แอปพลิเคชันถูกปิดเมื่อเปลี่ยนชื่อไฟล์
โทมัส

@GSerg ฉันเชื่อว่าฉันได้เปลี่ยนชื่อโฟลเดอร์แล้วอนุญาตให้การตั้งค่าแอปพลิเคชันสร้างขึ้นใหม่ได้
Tomas Zubiri

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

คำตอบ:


16

นิสัยเสียสำหรับการเลือกจริงๆ


ว้าวฉันไม่ได้คาดหวังว่าจะมีหลายวิธีที่จะทำลายบางอย่างด้วยการเปลี่ยนชื่อไฟล์ ขอบคุณ!
Tomas Zubiri

@ wizzwizz4 2000 คือ NT
zdimension

-2

โปรแกรมอื่นยังสามารถเข้าถึงไฟล์ที่ถูกเปลี่ยนชื่อได้

  • วิธีหนึ่งที่ไฟล์ที่ถูกเปลี่ยนชื่อยังคงสามารถเข้าถึงได้โดยโปรแกรมอื่นคือตัวแปรสภาวะแวดล้อมที่ตั้งค่าเป็นพา ธ ไฟล์ใหม่โดยโปรแกรมเดียวกันที่เปลี่ยนชื่อไฟล์ โปรแกรมที่ต้องการเข้าถึงไฟล์ดังกล่าวใช้ตัวแปรสภาพแวดล้อมสำหรับพา ธ ไฟล์แทนการกำหนดพา ธ ไฟล์ที่กำหนดไว้ภายใน

  • อีกวิธีคือการให้ไฟล์เป็นไฟล์เดียวในโฟลเดอร์เฉพาะ โปรแกรมที่ต้องการใช้ไฟล์นี้รู้ว่าไม่ควรมีมากกว่าหนึ่งไฟล์ในโฟลเดอร์เฉพาะนั้น แต่รู้ว่าชื่อไฟล์อาจเปลี่ยนแปลงได้ แต่ไดเรกทอรีที่อยู่ในนั้นจะยังคงเหมือนเดิม โปรแกรมเพียงแค่ใช้ไฟล์แรกที่พบในโฟลเดอร์นั้นซึ่งควรเป็นไฟล์นั้นเสมอ อย่างไรก็ตามนี่ไม่ใช่วิธีปฏิบัติที่ดีและคุณจะดีกว่าด้วยตัวแปรสภาพแวดล้อม

ความล้มเหลวนั้นบางโปรแกรมจะขอให้ผู้ใช้ค้นหาไฟล์โดยอัตโนมัติก่อนดำเนินการรหัสต่อไป

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.