Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Gibt es eine funktion die wie robocopy arbeitet? (https://www.delphipraxis.net/196859-gibt-es-eine-funktion-die-wie-robocopy-arbeitet.html)

KodeZwerg 26. Jun 2018 06:24

Gibt es eine funktion die wie robocopy arbeitet?
 
Guten Morgen, der Titel sagt ja schon alles. Ich würde gerne eine Datei kopieren ähnlich dem commandline Programm robocopy, wo alles was eine Datei betrifft mitkopiert wird (erweiterte Datei-Attribute/ADS). Kennt da jemand einen Delphi Ersatz oder eine Api die so arbeitet wie robocopy es macht? Danke fürs Lesen!

Ps: Es wird Delphi2009 verwendet.

Lemmy 26. Jun 2018 06:32

AW: Gibt es eine funktion die wie robocopy arbeitet?
 
Zitat:

Zitat von KodeZwerg (Beitrag 1405807)
oder eine Api die so arbeitet wie robocopy es macht? Danke fürs Lesen!

äh.. Robocopy. Ist seit Windows Vista Bestandteil jeder Windows-Version, d.h. wenn Du nicht gerade exotische Windowsversionen unterstützen musst, kannst du davon ausgehen, dass es beim Kunden einfach da ist...

Grüße

KodeZwerg 26. Jun 2018 06:37

AW: Gibt es eine funktion die wie robocopy arbeitet?
 
Soll das bedeuten man kann mit Delphi robocopy nicht nachahmen?

Jasocul 26. Jun 2018 07:07

AW: Gibt es eine funktion die wie robocopy arbeitet?
 
Nachahmen lässt es sich bestimmt, aber vermutlich nicht so, wie du dir das vorstellst.
Ich hatte vor längerem auch mal nach einer API gesucht, aber nichts gefunden. Es gibt ein paar Leute, die ein GUI zu Robocopy gebastelt haben. Das war bei mir aber nicht die Zielsetzung.

Falls es da immer noch nichts gibt, hast du mMn nur zwei Möglichkeiten:
1. Du rufst robocopy über ein shellexecute auf.
2. Du vertiefst dich in die Doku zu robocopy und programmierst alles nach. Delphi bietet schon eine ganze Menge von Funktionen mit denen man in die Richtung kommen kann. Bei D2009 kenne ich aber den Funktionsumfang nicht.

KodeZwerg 26. Jun 2018 07:24

AW: Gibt es eine funktion die wie robocopy arbeitet?
 
Danke, ja mein Ziel war es nicht eine Gui für ein Konsolen-Programm sondern eher eine Gui mit einer eigenen funktion :-)
In der Doku stehen die Parameter erklärt aber leider nicht wie das Programm intern arbeitet, da bräuchte ich source code von robocopy aber der ist closed, jedenfalls finde ich keine Quellen.

Luckie 26. Jun 2018 07:35

AW: Gibt es eine funktion die wie robocopy arbeitet?
 
Robocopy ist kein Hexenwerk. Nur eben entsprechend viel Arbeit, es nach zu programmieren.

KodeZwerg 26. Jun 2018 07:45

AW: Gibt es eine funktion die wie robocopy arbeitet?
 
Dann werde ich mal lesen welche kopier funktion mit Delphi oder Winapi die sicherste ist, es gibt ja dutzende möglichkeiten ne Datei zu kopieren. Wie ich dann NTFS Attribute mitgebe werde ich noch erlernen müßen. Ich bin dann mal im Wunderland mich umschauen was wie geht, Danke!

KodeZwerg 26. Jun 2018 14:04

AW: Gibt es eine funktion die wie robocopy arbeitet?
 
Für Berechtigungen habe ich SetACL entdeckt, gibt es nun als freeware hier unter Downloads.

Luckie 26. Jun 2018 15:18

AW: Gibt es eine funktion die wie robocopy arbeitet?
 
Was ist eigentlich deine Absicht? Willst du Robocopy zu Übungszwecken nachbauen oder brauchst du die Funktion in deinem Programm?

KodeZwerg 26. Jun 2018 16:07

AW: Gibt es eine funktion die wie robocopy arbeitet?
 
Hallo Luckie, ich arbeite an ein Dialog den ich wiederverwenden möchte, der Dialog soll eine "Sicheres Kopieren" Funktion enthalten das einem halt nicht nur die Bits und Bytes der original Datei kopiert sondern eben auch OS-Infos die nicht direkt in der Datei gespeichert sind, 100% Backup & Restore sozusagen wie es robocopy kann. Der Teil mit "erstelle eine 1:1 digitalkopie des Inhalts" war am leichtesten nachzubasteln, da bediene ich mich zweier Filestreams. Das für mich komplizierte sind halt die nicht direkt enthaltenen Informationen, häppchenweise arbeite ich mich voran was da so alles berücksichtigt werden muss. Übers Restore mache ich mir erst Gedanken wenn ich in der Lage bin alles zu speichern, wahrscheinlich lüftet sich dabei automatisch der Nebel, mal sehen :wink:

TiGü 27. Jun 2018 07:51

AW: Gibt es eine funktion die wie robocopy arbeitet?
 
Zitat:

Zitat von KodeZwerg (Beitrag 1405881)
Hallo Luckie, ich arbeite an ein Dialog den ich wiederverwenden möchte, der Dialog soll eine "Sicheres Kopieren" Funktion enthalten das einem halt nicht nur die Bits und Bytes der original Datei kopiert sondern eben auch OS-Infos die nicht direkt in der Datei gespeichert sind, 100% Backup & Restore sozusagen wie es robocopy kann. Der Teil mit "erstelle eine 1:1 digitalkopie des Inhalts" war am leichtesten nachzubasteln, da bediene ich mich zweier Filestreams. Das für mich komplizierte sind halt die nicht direkt enthaltenen Informationen, häppchenweise arbeite ich mich voran was da so alles berücksichtigt werden muss. Übers Restore mache ich mir erst Gedanken wenn ich in der Lage bin alles zu speichern, wahrscheinlich lüftet sich dabei automatisch der Nebel, mal sehen :wink:

Hier, schon fertig:
http://www.chip.de/downloads/Robocopy-GUI_28220207.html

KodeZwerg 27. Jun 2018 08:32

AW: Gibt es eine funktion die wie robocopy arbeitet?
 
Zitat:

Zitat von TiGü (Beitrag 1405917)
Hier, schon fertig

Zitat:

Zitat von KodeZwerg (Beitrag 1405814)
Danke, ja mein Ziel war es nicht eine Gui für ein Konsolen-Programm sondern eher eine Gui mit einer eigenen funktion

:-)

TiGü 27. Jun 2018 09:10

AW: Gibt es eine funktion die wie robocopy arbeitet?
 
Aber wozu?
Zu Lernzwecken?

hans65 27. Jun 2018 09:24

AW: Gibt es eine funktion die wie robocopy arbeitet?
 
Ich wollte auch schon vorschlagen, einfach RoboCopy weiter zu verwenden. Kann ja auch per CreateProcess unsichtbar erfolgen. Aber in einer solchen BlackBox ist es halt schwierig auf Fehler zu reagieren.
Mit einer eigenen Funktion hat er die Fehlerbehandlung in der eigenen Hand.

himitsu 27. Jun 2018 09:27

AW: Gibt es eine funktion die wie robocopy arbeitet?
 
MSDN-Library durchsuchenSHFileOperation bzw. MSDN-Library durchsuchenIFileOperation verwenden und schauen ob die alles Nötige mitnehmen?
Jedenfalls mehr, wie beim FileCopy ... halt so, wie es der Explorer macht. :stupid:

KodeZwerg 27. Jun 2018 09:46

AW: Gibt es eine funktion die wie robocopy arbeitet?
 
Zitat:

Zitat von himitsu (Beitrag 1405924)

Danke, das kannte ich auch noch nicht, werde das mal überprüfen.

MichaelT 27. Jun 2018 16:27

AW: Gibt es eine funktion die wie robocopy arbeitet?
 
Ich verstehe den Nutzen auch nicht wirklich. Aber gut.

Zitat:

Zitat von TiGü (Beitrag 1405920)
Aber wozu?
Zu Lernzwecken?

Ich würde ein Script generieren und dann ausführen. Über die Jahre hat sich das Vorgehen bewährt.

KodeZwerg 27. Jun 2018 19:59

AW: Gibt es eine funktion die wie robocopy arbeitet?
 
Ich glaube auch das das am Sinnvollsten für mich wäre, man kann ja robocopy mit nem script aufrufen, doof ist nur das ich zwar dutzende Quellen angeben kann aber nur ein Ziel, ich werde mich da schon durchmogeln.

Ihr habt mich Überzeugt an der Stelle das Rad nicht neu zu erfinden, ich werde es nun über Cnosole laufen lassen!

Bevor noch mehr Text hier landet und nichts für die Allgemeinheit rauskommt, tut mir leid für meinen Dickschädel, Danke an alle die geantwortet haben! :thumb::love:

*Topic closed*

Ps: Der Nutzen sollte sein das ich zum einen Verstehe wie es Inhaltlich korrekt wäre, ich alle Ergebnisse die einfließen könnten selber behandel, ich mein eigenes Design bestimme, ich der Herrscher über den Dialog bin der auch "Canceln" kann.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:22 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