Dateien kopieren, obwohl sie grad verwendet werden?
Dateien kopieren, obwohl sie grad verwendet werden?
Hallo
ich bin grad dabei ein Programm zu schreiben. Das Problem ist, dass ich eine Datei von einem Ort zum anderen kopieren will. Diese Datei wird jedoch schon von einem anderen Programm verwendet. Selbst das normale kopieren mit der Maus funktioniert nicht.
Gibt es eine Möglichkeit, die Datei mit zu kopieren, obwohl sie rgad verwendet wird? (möchte nicht das Programm schließen damit die Datei nicht mehr verwendet wird und ich sie kopieren kann)
geht das?
danke schonmal im Voraus
ich bin grad dabei ein Programm zu schreiben. Das Problem ist, dass ich eine Datei von einem Ort zum anderen kopieren will. Diese Datei wird jedoch schon von einem anderen Programm verwendet. Selbst das normale kopieren mit der Maus funktioniert nicht.
Gibt es eine Möglichkeit, die Datei mit zu kopieren, obwohl sie rgad verwendet wird? (möchte nicht das Programm schließen damit die Datei nicht mehr verwendet wird und ich sie kopieren kann)
geht das?
danke schonmal im Voraus
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Klar, schreibste nen Treiber, installierst als Systemdienst und dann gehtChrisBa hat geschrieben:es muss doch irgendwie gehen
das auch
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Kurze Frage dazu: Wenn eine Datei auf der Festplatte liegt, sollte sie doch theoretisch auch zeitgleich gelesen werden können. Physikalisch kann schonmal nicht auf einen Wert doppelt zugegriffen werden (nur ein Lesekopf, der das entsprechende Byte erreicht).
In einer Art Header sollte es auch nicht stehen. Sollte der PC ausgehen und der Header nicht zurückgesetzt, wäre die Datei ja immer besetzt.
Hat Windows eine Art Liste, welche Dateien gerade geöffnet sind und vergibt schlicht keine weiteren Schreibrechte, oder wie soll man sich das genau Vorstellen?
In einer Art Header sollte es auch nicht stehen. Sollte der PC ausgehen und der Header nicht zurückgesetzt, wäre die Datei ja immer besetzt.
Hat Windows eine Art Liste, welche Dateien gerade geöffnet sind und vergibt schlicht keine weiteren Schreibrechte, oder wie soll man sich das genau Vorstellen?
-
- Beiträge: 6267
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
Ja, die Listen stehen im Prozesskontrollblock des jeweiligen Prozesses.gnasen hat geschrieben:Hat Windows eine Art Liste, welche Dateien gerade geöffnet sind und vergibt schlicht keine weiteren Schreibrechte, oder wie soll man sich das genau Vorstellen?
http://de.wikipedia.org/wiki/Prozesskontrollblock
Zuletzt geändert von DarkDragon am 23.06.2008 16:04, insgesamt 1-mal geändert.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
es ist eine der Kernaufgaben des Betriebssystems, den Zugriff auf Daten
und Dateien zu verwalten, und dazu gehört auch, dass auf eine von einem
Prozess geöffnete Datei kein anderer Prozess zugreifen kann.
das soll verhindern, dass es überschneidungen und durcheinander gibt.
Abhilfe gibt es da nur, wenn das eine Programm die Datei nicht offen hält,
sondern einlädt und dann wieder schließt, wie das z.b. IrfanView mit
den Bildern macht. Wenn du in Irfanview ein Bild öffnest,
kannst du das mit einem anderen Programm auch öffnen bzw. verschieben.
PS
> Wenn eine Datei auf der Festplatte liegt, sollte sie doch theoretisch auch zeitgleich gelesen werden können.
Wenn es sich nur um einen Lesezugriff handelt, hast du theoretisch recht, das wäre wünschenswert.
ob es unter Windows vorgesehen ist, weiß ich nicht.
und Dateien zu verwalten, und dazu gehört auch, dass auf eine von einem
Prozess geöffnete Datei kein anderer Prozess zugreifen kann.
das soll verhindern, dass es überschneidungen und durcheinander gibt.
Abhilfe gibt es da nur, wenn das eine Programm die Datei nicht offen hält,
sondern einlädt und dann wieder schließt, wie das z.b. IrfanView mit
den Bildern macht. Wenn du in Irfanview ein Bild öffnest,
kannst du das mit einem anderen Programm auch öffnen bzw. verschieben.
PS
> Wenn eine Datei auf der Festplatte liegt, sollte sie doch theoretisch auch zeitgleich gelesen werden können.
Wenn es sich nur um einen Lesezugriff handelt, hast du theoretisch recht, das wäre wünschenswert.
ob es unter Windows vorgesehen ist, weiß ich nicht.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Das liegt an den Rechten, wenn die Datei sich nicht kopieren läßt, wurde sie
nicht als shared geöffnet. Dazu solltest Du Dir die CreateFile_() API ansehen
nicht als shared geöffnet. Dazu solltest Du Dir die CreateFile_() API ansehen
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
Ich habe mir nicht alles durchgelesen, wollte nur meinen Senf dazu abgeben:
Mit 7-Zip kann man auch Dateien komprimieren, die gerade zum Schreiben geöffnet sind.
Es gibt bei den Kompressionseinstellungen nänlich eine Option, die heißt "Zum Schreiben geöffnete Dateien mit einbeziehen".
Da 7-Zip recht klein ist (<1 MB) und Freeware und alles, glaube ich nicht, dass 7-Zip dazu irgendwelche Treiber benutzt.
Was ich damit nur sagen wollte war: Ich denke, es geht schon irgendwie, frag mich aber nicht, wie.
Mit 7-Zip kann man auch Dateien komprimieren, die gerade zum Schreiben geöffnet sind.
Es gibt bei den Kompressionseinstellungen nänlich eine Option, die heißt "Zum Schreiben geöffnete Dateien mit einbeziehen".
Da 7-Zip recht klein ist (<1 MB) und Freeware und alles, glaube ich nicht, dass 7-Zip dazu irgendwelche Treiber benutzt.
Was ich damit nur sagen wollte war: Ich denke, es geht schon irgendwie, frag mich aber nicht, wie.
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End