Windows
在 Windows 系統中,重命名文件在功能上是否類似於刪除它們?
根據我對Windows文件系統的理解,一個程序可以根據路徑讀取一個文件,如果這個路徑改變了,那麼任何用來讀取這個文件的程序都不能再這樣做了。這意味著,對於windows系統中任何依賴於文件的程序,刪除和重命名文件的後果必須是相同的。
這個答案所依賴的具體情況是在Windows 2000上執行的嵌入式系統,服務提供商手冊指導使用者刪除文件夾內的文件。作為一個謹慎的使用者,我只是將文件複製到名為“folder_backup”的路徑中,並將文件夾留空。
在此操作期間,系統退步,無法正常執行。因此,編寫手冊的服務提供商被呼叫。他們的診斷是數據庫已損壞,因為有 2 個並行數據庫,指向“folder_backup”作為第二個數據庫。據我了解,“D:/folder_backup”中的文件將是惰性的,除非程序查找以“folder”開頭的文件夾或讀取“D:/”文件中的所有內容的特殊情況。
系統仍然可以通過哪些非晦澀的方式訪問重命名的文件,否則如果文件被刪除,這是不可能的?
真的被寵壞了。
……可能還有更多。應用程序做這些事情是否明智是一個不同的問題,但它肯定是可能的。
重命名的文件仍然可以被另一個程序訪問。
- 另一個程序仍然可以訪問重命名文件的一種方法是環境變數由重命名文件的同一程序設置為新文件路徑。想要訪問所述文件的程序使用文件路徑的環境變數而不是內部設置的固定文件路徑。
- 另一種方法是讓文件成為特定文件夾中的唯一文件。想要使用該文件的程序知道該特定文件夾中不應有多個文件,但知道文件名可能會更改,但它所屬的目錄將保持不變。該程序只是使用它可以在該文件夾中找到的第一個文件,該文件應該始終是該文件。然而,這不是一個好的做法,你最好使用環境變數。
如果做不到這一點,一些程序會在繼續執行它的程式碼之前自動要求使用者找到文件