Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   von Festplatte kopieren (mit gedrosselter Geschwindigkeit) (https://www.delphipraxis.net/37991-von-festplatte-kopieren-mit-gedrosselter-geschwindigkeit.html)

Nicolai1234 13. Jan 2005 11:44


von Festplatte kopieren (mit gedrosselter Geschwindigkeit)
 
Hallo,
Ich bin dabei ein Programm zum Datensichern zu erstellen. Dabei sollen die Daten komplett auf eine andere Festplatte oder ein Netzlaufwerk kopiert werden.
Allerdings ist es bisher so, dass wenn große Mengen von Daten kopiert werden, der Rechner sehr lanfsam wird, da sich die ganze Leistung der Festplatte auf das Kopieren konzentriert.
Gibt es da eine Möglichkeit die Daten mit langsamerer Geschwindigkeit kopieren zu lassen, sodass der Rechner nicht so langsam wird?
Vielen Dank im voraus

PeterRettig 13. Jan 2005 12:11

Re: von Festplatte kopieren (mit gedrosselter Geschwindigkei
 
Hallo,

da du ja das Programm selbst schreibst und das Dateikopieren
evtl. nicht via Filecopy sondern durch blockweises kopieren
realisierst, kannst du ja nach jedem Block ein sleep,
ein Application.ProcessMessages oder ähnliches einfügen.

Achtung, in diesem Falle werden natürlich eventuelle Rechte
von NTFS-Datenträgern oder unsichtbare ADS nicht mit kopiert...

Peter

Christian Seehase 13. Jan 2005 12:50

Re: von Festplatte kopieren (mit gedrosselter Geschwindigkei
 
Moin Zusammen,

Zitat:

Zitat von PeterRettig
Achtung, in diesem Falle werden natürlich eventuelle Rechte
von NTFS-Datenträgern oder unsichtbare ADS nicht mit kopiert...

ausser man verwendet SHFileOperation, und übergibt bei jedem Durchgang nur eine, oder ein paar der Dateien.

PeterRettig 13. Jan 2005 13:00

Re: von Festplatte kopieren (mit gedrosselter Geschwindigkei
 
Zitat:

ausser man verwendet SHFileOperation, und übergibt bei jedem Durchgang nur eine, oder ein paar der Dateien
Naja das kann aber bei großen Dateien (1 bis beliebig GByte) aber schon zu viel sein...

Christian Seehase 13. Jan 2005 13:12

Re: von Festplatte kopieren (mit gedrosselter Geschwindigkei
 
Moin Peter,

das ist natürlich richtig, aber ich gehe mal davon aus, dass es sich bei dem gewünschten meist eher um viele kleinere, als eine Grosse Datei handelt.
Rechte, ADS usw kann man allerdings auch noch zusätzlich auslesen, und "zu Fuss" übertragen.

Evtl. wäre es auch eine Lösung die Priorität des Prozesses zu verringern, z.B. auf IDLE_PRIORITY_CLASS (MSDN-Library durchsuchenSetPriorityClass), oder, wenn das Kopieren in einen Thread ausgelagert wird mit MSDN-Library durchsuchenSetThreadPriority (THREAD_PRIORITY_IDLE).
Dadurch würde nur kopiert werden, wenn sich sonst nichts tut.
Ob das in dem gegebenen Fall dann auch so funktioniert wie gewünscht weiss ich allerdings nicht.

Nicolai1234 13. Jan 2005 13:31

Re: von Festplatte kopieren (mit gedrosselter Geschwindigkei
 
Wie kann ich die Daten denn blockweise kopieren? Weil wenn, könnte ich ja wie oben gesagt ein delay oder sleep einbauen.

Das mit der Priorität geht meines erachtens leider nicht...


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz