Dalam sistem windows, apakah mengubah nama file secara fungsional sama dengan menghapusnya?

9

Menurut pemahaman saya tentang sistem file Windows, sebuah program dapat membaca file sesuai dengan path-nya, jika path ini diubah, maka program apa pun yang digunakan untuk membaca file ini, tidak dapat lagi melakukannya. Ini berarti bahwa, untuk semua program dalam sistem windows yang bergantung pada file, konsekuensi menghapus dan mengganti nama file harus sama.

Kasus khusus yang bergantung pada jawaban ini adalah sistem tertanam yang berjalan pada Windows 2000, manual penyedia layanan memandu pengguna untuk menghapus file di dalam folder. Sebagai pengguna yang waspada, saya cukup menyalin file ke jalur yang disebut "folder_backup", dan membiarkan folder itu kosong.

Selama operasi ini, sistem mengalami kemunduran dan tidak dapat berfungsi dengan benar. Jadi penyedia layanan yang menulis manual dipanggil. Diagnostik mereka adalah bahwa database rusak karena ada 2 database secara paralel, menunjuk ke "folder_backup" sebagai database kedua. Menurut pemahaman saya, file-file di dalam "D: / folder_backup" akan menjadi lembam, kecuali kasus luar biasa dari suatu program mencari folder yang dimulai dengan "folder" atau membaca semua konten dalam file "D: /".

Dalam cara-cara tidak jelas apa file yang diubah namanya masih dapat diakses oleh suatu sistem, yang seharusnya tidak mungkin jika file itu dihapus?

Tomas Zubiri
sumber
1
Apakah Anda sebenarnya menyalin file (memiliki dua salinan pada suatu titik dan kemudian menghapus aslinya) atau hanya memindahkannya?
GSerg
1
Apakah sistem berjalan pada saat itu membaca database itu? Dimungkinkan pada Windows (Linux juga) untuk menyalin file ketika sedang terbuka (tergantung pada aplikasi yang membuka file dalam "mode" tertentu). Ini mungkin akan menghasilkan salinan yang rusak, BTW.
davidbak
@davidbak Negatif, aplikasi ditutup ketika mengganti nama file.
Tomas Zubiri
@ GS Saya yakin saya mengganti nama folder dan kemudian mengizinkan pengaturan aplikasi untuk membuatnya kembali.
Tomas Zubiri
Bandingkan dengan sistem file Unix, di mana ID file adalah integer, dan nama file sebenarnya hanya pemetaan dari nama ke ID, dan file tidak dihapus sampai tidak memiliki nama dan tidak ada proses yang terbuka. Mengganti nama file di Unix menambahkan pemetaan nama baru, lalu menghapus nama lama, sehingga file tersebut tidak dihapus.
Raedwald

Jawaban:

16

Benar-benar dimanja oleh pilihan.

Harry Johnston
sumber
Wow, saya tidak berharap akan ada begitu banyak cara untuk memecahkan sesuatu dengan mengganti nama file. Terima kasih!
Tomas Zubiri
@ wizzwizz4 2000 adalah NT
zdimension
-2

File yang diganti namanya masih dapat diakses oleh program lain.

  • Salah satu cara file berganti nama masih dapat diakses oleh program lain adalah variabel lingkungan yang diatur ke jalur file baru oleh program yang sama yang mengubah nama file. Program yang ingin mengakses file tersebut menggunakan variabel lingkungan untuk jalur file alih-alih jalur file yang ditetapkan secara internal.

  • Cara lain adalah agar file tersebut menjadi satu-satunya file dalam folder tertentu. Program yang ingin menggunakan file ini tahu bahwa seharusnya tidak boleh ada lebih dari satu file dalam folder tertentu, tetapi tahu bahwa nama file dapat berubah tetapi direktori yang dimilikinya akan tetap sama. Program hanya menggunakan file pertama yang dapat ditemukan di folder itu, yang harus selalu menjadi file itu. Namun ini bukan praktik yang baik dan Anda lebih baik dengan variabel lingkungan.

Jika tidak, beberapa program akan secara otomatis meminta pengguna untuk menemukan file sebelum melanjutkan untuk mengeksekusi kodenya

J03L
sumber