Selon ma compréhension du système de fichiers Windows, un programme peut lire un fichier en fonction de son chemin, si ce chemin est modifié, alors quel que soit le programme utilisé pour lire ce fichier, il ne pourra plus le faire. Cela signifierait que, pour tous les programmes du système Windows qui dépendent d'un fichier, les conséquences de la suppression et du renommage d'un fichier doivent être les mêmes.
Le cas spécifique dont dépend cette réponse est un système intégré fonctionnant sous Windows 2000, le manuel du fournisseur de services guide l'utilisateur pour supprimer les fichiers dans un dossier. En tant qu'utilisateur méfiant, j'ai simplement copié les fichiers dans un chemin appelé "dossier_sauvegarde" et laissé le dossier vide.
Au cours de cette opération, le système a régressé et n'a pas pu fonctionner correctement. Le fournisseur de services qui a rédigé le manuel a donc été appelé. Leur diagnostic était que la base de données était corrompue car il y avait 2 bases de données en parallèle, pointant vers "folder_backup" comme deuxième base de données. À ma connaissance, les fichiers à l'intérieur de "D: / folder_backup" auraient été inertes, sauf dans le cas exceptionnel d'un programme recherchant des dossiers commençant par "folder" ou lisant tout le contenu du fichier "D: /".
De quelles manières non obscures un fichier renommé peut-il encore être consulté par un système, qui aurait autrement été impossible si le fichier avait été supprimé?
la source
Réponses:
L'embarras du choix vraiment.
Suivi des liens distribués.
Liens durs.
OpenFileById.
Numéros d'enregistrement MFT.
... et probablement plus. La question de savoir s'il est judicieux pour une application de faire l'une de ces choses est une question différente, mais c'est certainement possible .
la source
Un fichier renommé est toujours accessible par un autre programme.
Une façon dont un fichier renommé peut toujours être consulté par un autre programme est une variable d'environnement qui est définie sur le nouveau chemin de fichier par le même programme qui a renommé le fichier. Le programme qui souhaite accéder audit fichier utilise la variable d'environnement pour le chemin de fichier au lieu d'un chemin de fichier fixe défini en interne.
Une autre façon est que le fichier soit le seul fichier dans un dossier spécifique. Le programme qui souhaite utiliser ce fichier sait qu'il ne doit jamais y avoir plus d'un fichier dans ce dossier spécifique, mais sait que le nom de fichier peut changer mais que le répertoire auquel il appartient restera le même. Le programme utilise simplement le premier fichier qu'il peut trouver dans ce dossier, qui devrait toujours être ce fichier. Cependant, ce n'est pas une bonne pratique et vous êtes mieux avec une variable d'environnement.
A défaut, certains programmes demanderont automatiquement à l'utilisateur de localiser le fichier avant de continuer à exécuter son code
la source