Nei sistemi Windows, la ridenominazione dei file è funzionalmente simile alla loro eliminazione?


9

Secondo la mia comprensione del filesystem di Windows, un programma può leggere un file in base al suo percorso, se questo percorso viene modificato, quindi qualsiasi programma utilizzato per leggere questo file, non può più farlo. Ciò significherebbe che, per tutti i programmi nel sistema Windows che dipendono da un file, le conseguenze dell'eliminazione e della ridenominazione di un file devono essere le stesse.

Il caso specifico da cui dipende questa risposta è un sistema incorporato in esecuzione su Windows 2000, il manuale del fornitore di servizi guida l'utente all'eliminazione dei file all'interno di una cartella. Come utente diffidente, ho semplicemente copiato i file in un percorso chiamato "folder_backup" e ho lasciato la cartella vuota.

Durante questa operazione, il sistema è regredito e non è stato in grado di funzionare correttamente. Quindi fu chiamato il fornitore di servizi che scrisse il manuale. La loro diagnosi era che il database era corrotto perché c'erano 2 database in parallelo, che indicavano "folder_backup" come secondo database. Per quanto ne so, i file all'interno di "D: / folder_backup" sarebbero stati inerti, salvo il caso eccezionale di un programma in cerca di cartelle che iniziano con "cartella" o che leggano tutti i contenuti nel file "D: /".

In quali modi non oscuri è ancora possibile accedere a un file rinominato da un sistema, che altrimenti sarebbe stato impossibile se il file fosse stato cancellato?


1
Hai infatti copiato i file (averne due copie ad un certo punto e quindi eliminare l'originale) o semplicemente spostarli?
GSerg,

1
Era il sistema in funzione al tempo a leggere quei database? Su Windows (anche Linux) è possibile copiare i file mentre sono aperti (a seconda dell'applicazione che apre i file in determinate "modalità"). Ciò comporterebbe probabilmente copie corrotte, a proposito.
davidbak,

@davidbak Negativo, l'applicazione è stata chiusa durante la ridenominazione dei file.
Tomas Zubiri,

@GSerg Credo di aver rinominato la cartella e quindi ho permesso all'installazione dell'applicazione di ricrearla.
Tomas Zubiri,

Confronta con i filesystem Unix, in cui l'ID di un file è un numero intero, e un nome file è in realtà solo una mappatura da nomi a ID, e un file non viene eliminato fino a quando non ha nomi e nessun processo lo ha aperto. La ridenominazione di un file in Unix aggiunge una nuova mappatura dei nomi, quindi rimuove il vecchio nome, quindi il file non viene mai cancellato.
Raedwald,

Risposte:



-2

Un file rinominato è ancora accessibile da un altro programma.

  • Un modo in cui un altro programma può ancora accedere a un file rinominato è una variabile d'ambiente che è impostata sul nuovo percorso del file dallo stesso programma che ha rinominato il file. Il programma che desidera accedere a detto file utilizza la variabile di ambiente per il percorso del file anziché un percorso del file impostato internamente fisso.

  • Un altro modo è che il file sia l'unico file in una cartella specifica. Il programma che desidera utilizzare questo file sa che non ci dovrebbe mai essere più di un file in quella cartella specifica, ma sa che il nome del file può cambiare ma la directory a cui appartiene rimarrà la stessa. Il programma utilizza semplicemente il primo file che può trovare in quella cartella, che dovrebbe sempre essere quel file. Tuttavia questa non è una buona pratica e stai meglio con una variabile d'ambiente.

In caso contrario, alcuni programmi chiederanno automaticamente all'utente di individuare il file prima di continuare a eseguirne il codice

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.