Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Viele Dateien auf USB-Stick schnell verschieben (https://www.delphipraxis.net/139548-viele-dateien-auf-usb-stick-schnell-verschieben.html)

cookie22 31. Aug 2009 15:22


Viele Dateien auf USB-Stick schnell verschieben
 
hallo,

ich möchte viele dateien auf einem usb-stick, schnell von einem verzeichnis in ein anderes verschieben. Ich habe es mit movefile und shellfileoperation versucht. das dauert bei mir mit meinen 1700 test dateien und shellfileoperation ca. 5-7 minuten.

nun hab ich ein programm gefunden, welches "USB Secure" heisst. dort wird der inhalt vom usb-stick in eine sogenannte gesichertezone verschoben. allerdings braucht das programm für die gleiche datenmenge nur ca. 30 sekunden.
nun meine frage, wie machen die das so schnell? :gruebel:
hat jemand ne idee. hat jemand ne idee.

gruß,

cookie

himitsu 31. Aug 2009 15:30

Re: Viele Dateien auf USB-Stick schnell verschieben
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ganz einfach, die Setzen eine Cache dazwischen.

Normaler Weise ist ein USB-Stick für "Schnelles Entfernen" eingestellt und da wird alles sofort auf den langsamen Datenträger geschreiben.

Als Erstes kannst du mal versuchen denen Stick umzustellen (Siehe Eigenschaften),
aber ich sag es gleich sooooo Leistungsmäßig reagiert ist die andere Option leider nicht.

cookie22 31. Aug 2009 15:46

Re: Viele Dateien auf USB-Stick schnell verschieben
 
hmm, wenn ich das umstellen will, will der rechner neu starten. wie aktiviere ich denn das, vor meiner verschiebeaktion?

das programm funktioniert übrigens komplett ohne admin rights, würde doch unter vista oder 7 dann garnicht gehen wenn die hardware einstellungen ändern, oder liege ich da falsch?

hab gerade festgestellt, dass wenn man die dateien im explorer verschiebt, es noch viel schneller geht. da dauert das ganze nur ne sekunde oder so. kann es sein, dass der ordner, der die dateien enthält nur irgendwie umbenannent wird?

himitsu 31. Aug 2009 15:51

Re: Viele Dateien auf USB-Stick schnell verschieben
 
Der will nur neu Starten, wenn das Laufwerk z.B. im Explorer geöffnet ist
bzw. wenn irgendwelche Dateien/Ordner in irgendwelchen Programmen geladen sind.


Ich hab nicht gesagt, daß die dort umstellen.

Diese Option ist, wie gesagt, auch nicht so schnell, wie man er erhoffen könnte.

Die werden entweder einen Treiber dazwischen schieben, welcher die Cache enthält.
Oder einen neuen virtuellen Datenträger erstellen, den eugentlichen USB-Stick ausblenden
und eine Umleitung mit der Cache erstellen.


[add]
Der Explorer wird wohl auch nur ShellFileOperation verwenden.

Wie hast du denn versucht die Dateien zu verschieben?

turboPASCAL 31. Aug 2009 15:59

Re: Viele Dateien auf USB-Stick schnell verschieben
 
Wo findet man das Programm denn ?

himitsu 31. Aug 2009 16:03

Re: Viele Dateien auf USB-Stick schnell verschieben
 
[google]"USB Secure"[/google] :zwinker:
ist aber Shareware

turboPASCAL 31. Aug 2009 16:13

Re: Viele Dateien auf USB-Stick schnell verschieben
 
Ach, das ist doch dieser Sicherheitsschnee...

cookie22 31. Aug 2009 16:22

Re: Viele Dateien auf USB-Stick schnell verschieben
 
Also ich habs so gemacht:

Delphi-Quellcode:
procedure MoveFiles(DirFrom, DirTo: string);
var
  shellinfo: TSHFileOpStruct;
begin
  with shellinfo do
  begin
    Wnd   := 0;
    wFunc := FO_MOVE;
    pFrom := PChar(DirFrom);
    pTo   := PChar(DirTo);
    fFlags := FOF_NOCONFIRMATION or FOF_NOCONFIRMMKDIR or FOF_MULTIDESTFILES or FOF_SILENT;
  end;
  SHFileOperation(shellinfo);
end;

procedure TfrmMain.Button1Click(Sender: TObject);
begin
SetCurrentDir('x:\');
MoveFiles('test'+#0, 'x:\test2\blah'+#0)
end;
mit FO_RENAME gehts auch nicht.

mit findfirst, findnext + movefile dauerts noch länger.

wenn ich die daten per drag&drop im explorer verschiebe wird garnix auf den stick geschrieben, wird da auf die datei tabelle zugegriffen und nur der name geändert?

Zitat:

Ach, das ist doch dieser Sicherheitsschnee...
sicher ist das sicher nicht, was die da machen. ich will nur wissen wie die die daten so schnell verschieben.

das programm gibs hier:
http://www.newsoftwares.net/usb-secure/

edit:
ok die lösung des problems ist mal wieder sehr einfach. :wall: :wall: :wall:

movefilew funktioniert auch mit ordnern. so machts das programm und auch der explorer.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:05 Uhr.

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