Wenn Sie eine Textdatei in Notepad unter Windows öffnen, können Sie die Quelldatei in den Papierkorb verschieben oder sogar dauerhaft löschen. Gleiches gilt für WordPad. Warum gibt Windows keine Warnung aus und beschwert sich über das Öffnen von Dateien in einem anderen Programm?
Wenn dieselbe Datei jedoch in Word geöffnet ist und Sie versuchen, die Quelldatei in den Papierkorb zu verschieben oder dauerhaft zu löschen, erhalten Sie von Windows eine Warnung. Die Nachricht selbst kann ein Warnungstyp sein, der Ihnen mitteilt, dass in einem (häufig unbekannten) Programm die Datei geöffnet ist. Bei Word 2013 unter Windows 8.1 handelt es sich um eine Infomeldung, in der genau angegeben wird, in welchem Programm (Word) die Datei geöffnet ist.
Warum ist das so? Warum können Sie A) die Quelldatei löschen, während sie in einem Programm geöffnet ist, und B) das Dokument weiter bearbeiten, nachdem die Datei gelöscht wurde? Warum unterscheidet sich das Verhalten in Editor und WordPad von dem von Word?
Das erste Fallverhalten ist auch in Paint vorhanden. Sie können eine Bitmap-Datei löschen, während sie in Paint geöffnet ist, und weiterarbeiten. Wenn Sie jedoch versuchen, die Datei zu speichern, werden Sie aufgefordert, den Speicherort anzugeben, in dem die Datei gespeichert werden soll. Mit Notepad wird es direkt an demselben Speicherort gespeichert, an dem die ursprüngliche Datei gespeichert wurde, und erhält denselben Namen. Notepad fordert Sie nicht dazu auf.
Ich habe dies nicht unter Windows 7, Vista oder XP getestet. Ich würde jedoch erwarten, dass das Verhalten genau dasselbe ist, und daher würde die Frage wahrscheinlich auch für diese Systeme gelten.
quelle
Antworten:
Nicht alle Programme sperren Dateien, wenn sie zum Bearbeiten geöffnet werden
Windows verfügt über zwei Arten von Dateisperren, gemeinsame Sperren und exklusive Sperren. Freigegebene Sperren ermöglichen anderen Programmen das Lesen der Datei, verweigern jedoch den Schreibzugriff auf andere Programme. Exklusive Sperren verhindern, dass andere Programme vollständig auf die Datei zugreifen. Ein Programm kann je nach Bedarf eine der beiden Arten von Sperren verwenden.
Programme können Dateien zum Bearbeiten "öffnen", aber nicht sperren. Was hier wirklich passiert, ist, dass die Datei in einen Pufferspeicher geladen wird und der Status der Datei erst überprüft wird, wenn sie erneut bearbeitet wird. Eine auf diese Weise "geöffnete" Datei wird nicht wirklich verwendet und kann von anderen Programmen oder vom System selbst frei bearbeitet werden. Auf diese Weise können Sie die nicht vorhandene Datei weiter bearbeiten und in einer neuen Datei speichern.
Notepad sperrt die geöffnete Datei nicht. Dies bedeutet, dass die Datei gelöscht werden kann, während sie in Notepad geöffnet ist. Das Programm merkt nicht, dass die Datei gelöscht wird, bis es erneut versucht, sie zu öffnen. Ebenso sperrt Paint die Datei nicht und merkt nur, dass die Datei gelöscht wird, wenn versucht wird, sie zu öffnen oder zu speichern.
Word hingegen sperrt Dokumente beim Öffnen ( Bearbeiten: Nach meinen Recherchen ist die Sperre anscheinend nur dann exklusiv, wenn Word aus der Datei liest oder in die Datei schreibt und sie auf andere Weise freigegeben wird ). Daher können Sie Dateien, die derzeit in Word geöffnet sind, nicht löschen.
Das Öffnen einer Datei ohne Sperrung kann riskant sein
Obwohl es einfach ist, die Datei nur in den Speicher zu laden und erst dann zu berühren, wenn dies erforderlich ist, ohne sie zu sperren, besteht das Risiko , dass ein Programm die Datei bearbeitet, ohne dass sich die Änderungen in einem anderen Problem widerspiegeln. Dieses andere Programm (möglicherweise Notepad oder Paint) sieht die Änderungen nicht und geht verloren, wenn Sie die Datei in diesem Programm speichern.
Dieses Risiko von Rennbedingungen ist der Grund, warum Microsoft Word (und andere Office-Programme) Dateien beim Öffnen sperren. Andererseits sperrt Notepad ++ als Beispiel für eine alternative Lösung geöffnete Dateien nicht, damit andere Programme sie weiterhin bearbeiten können. Es warnt den Benutzer jedoch, wenn festgestellt wird, dass die Datei geändert oder gelöscht wurde, und fragt den Benutzer, ob die Datei von der Festplatte neu geladen oder geschlossen werden soll. Bei beiden Aktionen werden die Änderungen des Benutzers verworfen.
quelle
Dies liegt daran, dass einige Programme eine Kopie der Datei erstellen und diese Datei anstelle der Originaldatei öffnen. Auf diese Weise können Sie die Originaldatei fehlerfrei löschen, da sie von keinem Programm verwendet wird.
quelle