Warum funktioniert copy&paste nicht mit offenen Dateien?


08.11.2021, 11:00

Sry, ich meine das direkte Verschieben.

Lezurex  08.11.2021, 10:54

Definiere "offene Dateien" genauer. Was genau geht nicht, wie machst du es?

Traumtuer54 
Fragesteller
 08.11.2021, 10:57

Z. B. eine PDF mit dem PDF-XChange Editor. Wenn eine PDF geöffnet ist, kann man sie nicht kopieren und irgendwo anders einfügen. Mich interessiert, was im Hintergrund abläuft.

5 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Fürs Kopieren einer Datei wird nur ein Lesezugriff auf die zu kopierende Datei benötigt. Die zu kopierende Datei wird dabei nicht modifiziert. Du brauchst im Zielordner lediglich Schreibrechte, damit du dort auch eine Datei hinkopieren (sprich, schreiben) kannst.

Wenn du also im Explorer eine geöffnete Datei irgendwo hinkopierst, dann geht das ohne Probleme, da die Originaldatei ja noch existiert.

Edit auf deinen Nachtrag:

Beim Verschieben hingegen wird die ursprüngliche Datei natürlich gelöscht. Windows blockiert dies dann, wenn die Datei noch von einem Prozess (zum Beispiel eben dem PDF-Programm), geöffnet ist. Beim Verschieben musst du das PDF-Programm also schliessen oder die Datei darin schliessen, dann die Datei verschieben und danach wieder öffnen.

Traumtuer54 
Fragesteller
 08.11.2021, 11:17

Könnte Windows nicht auch dann eine Kopie anfertigen, die PDF einfügen und das Original löschen? Man vergisst ja relativ häufig, die Datei vorher zu schließen.

Gibt es denn Programme, die das unterstützen? Das wäre ein riesiger Schritt für die Benutzerfreundlichkeit. Mich wundert, warum Windows usw. dem scheinbar nicht nachgehen.

0
Lezurex  08.11.2021, 11:25
@Traumtuer54

Technisch schwer umsetzbar. Das Programm öffnet einen File Stream auf die Datei. Ist das ein Output Stream, so blockiert Windows automatisch das Löschen der Datei, da das Programm sonst allenfalls abstürzen würde, wenn die Datei ja nicht mehr da ist. Unter Umständen hast du da ja noch ungespeicherte Änderungen...

Diesen Stream einfach auf eine andere Datei zu lenken ist nicht möglich und würde allenfalls auch zusätzliche Probleme verursachen.

Aus meiner Sicht ist das aber kein Problem, die Datei einfach zu schliessen...

1

In allen Programmiersprachen ausser ein paar Exoten kann man eine Datei entweder zum Schreiben öffnen oder nur zum Lesen. Wenn ein Programm eine Datei zum Schreiben öffnet wird im Hintergrund ein Handle auf die Datei gelegt und kann weder verschoben noch gelöscht werden.

Woher ich das weiß:eigene Erfahrung
Warum funktioniert copy&paste nicht mit offenen Dateien?

Ich weiß nicht, welches System du nutzt, aber das Kopieren einer Datei an einen anderen Ort sollte sowohl auf Windows als auch Linux problemlos funktionieren, wenn diese geöffnet ist.

Traumtuer54 
Fragesteller
 08.11.2021, 11:02

Ja, stimmt. Ich habe die Frage falsch formuliert. Wenn man eine PDF z. B. von einem Ordner zum Desktop verschiebt, während sie offen ist, dann geht das nicht. Meine Frage ist, was Windows 10 daran hindert.

0
xxxcyberxxx  08.11.2021, 11:05
@Traumtuer54

Verschieben ist etwas anderes als Kopieren. Verschieben ist ein Kopieren mit anschließendem Löschen der ursprünglichen Datei

Windows "sperrt" Dateien, sofern sie geöffnet sind, dass diese währenddessen eben nicht gelöscht werden können.

Unter Linux kannst du Dateien löschen, während sie geöffnet sind

0

Man kann immer nur eine aktive Datei bearbeiten. Du kannst mehrere öffnen, aber eben nur eine bearbeiten!

Es funktioniert doch, zumindest bei mir