| |
|
|
- Seite 1 - |
|
Heinz Bernhard | Einen freundlichen Gruß in die Profaner-Runde!
Ich hatte vor mehreren Wochen schon mal die gleiche Anfrage gestellt, habe aber leider keine Antwort gefunden. Vielleicht habe ich auch etwas falsch gemacht. Meine Bitte um Hilfe!!! Mein Sorgenkind: Kopieren von Ordnern mit Unterordnern und Dateien, mit Überschreiben eines evtl. schon vorhanden gleichnamigen Ordners.
Habe von Andreas Miethe von 1998 Ein einfaches Backup-Programm gefunden. Es stört mich das manuelle Schliessen des Fensters.
Aufruf für XCOPY32 eine Verzeichnisstruktur anzulegen: Befehl$=xcopy32.exe ;quelle$; ;ziel$; /T /E
XCOPY32 legt eine Verzeichnisstruktur an: Winexecwait(Befehl$,1)
Darauf erscheint die Dateiliste: Beendet-XCopie32. Sie muss am Schliesskreuz geschlossen werden. Kann eine Schliessung mit Befehle erreicht werden? Mit DestroyWindow() und dem Handle geht es bei mir nicht.
Oder, gibt es einfachere Lösungen - ich habe XProfan 9.0? Für die Angabe der Befehle wäre ich sehr dankbar ! Im voraus schon meinen herzlichen Dank, für eure Bemühungen. Heinz Bernhard |
|
|
| |
|
|
| |
|
- Seite 2 - |
|
|
| Zeich mal Deinen TestSource. |
|
|
| |
|
|
|
| KompilierenMarkierenSeparierenDef SHFileOperation(1) !SHELL32,SHFileOperationA
Declare opstruct#,dir#
Proc Delete32
Löscht im Parameter (1) angegebenen Ordner samt Unterordnern (oder Datei)
Parameter 2: 0 = User erst fragen, 1= ohne Nachfrage löschen
Parameter 3: 0 = In Papierkorb verschieben, 1= endgültig löschen
Parameters dir$,noconfirm%,norecycle%
Declare FOF_Flag%
Case noconfirm%: Let noconfirm%=16
CaseNot norecycle%: Let norecycle%=64
Let FOF_Flag% = Or(noconfirm%,norecycle%)
Dim opstruct#,30
Dim dir#,Add(Len(dir$),2)
Platz für 2(!) Null-Bytes lassen
String dir#,0=Add$(dir$,Chr$(0))
Long opstruct#,0=%hwnd Handle des aufrufenden Fensters
Long opstruct#,4=3 FO_Delete
Long opstruct#,8=dir# pfrom : hier der zu löschende Ordner
Long opstruct#,12=0 pto (muß 0 oder eine Bereichvar. mit Zieldateinamen
z.B. bei Umbenennung sein
Word opstruct#,16=FOF_Flag%
Long opstruct#,18=0Hier steht nach dem Aufruf 1, wenn User abgebrochen hat
Long opstruct#,22=0 Unbedingt immer auf Null setzen!
Long opstruct#,26=0 Zeiger(Bereich) auf Überschrift des Fortschrittsdialogs
IF Gt(ShFileOperation(opstruct#),0)
MessageBox(Es ist ein Fehler aufgetreten,ShFileOperation,16)
EndIf
Dispose dir#
Dispose opstruct#
EndProc
Declare files$
Let files$=C:\tile.bmp
Delete32 files$,0,0
Eben noch mal versuch - löscht mit den hier angegebenen Parametern in den Papierkorb (natürlich muss die Datei vorhanden sein ) |
|
|
| |
|
|
|
GDL | Hallo Horst,
ich habe keine Datei sondern einen ganzen Ordner samt Unterverzeichnisse zum Löschen. Auch der vierte Parameter mit der Sicherheitsabfrage funzt nicht.Es wird ohne Nachfrage gelöscht.
Zum Verzeichnisse löschen geht der Code ja, nur halt nicht in den Papierkorb und auch ohne Nachfrage bei Parameter 4.
Servus Georg |
|
|
| |
|
|
|
GDL | Nochmal ich,
mit einer einzelnen Datei gehts bei mir auch.Nur mit einem ganzen Ordner halt nur so wie Eingangs beschrieben.
Servus Georg |
|
|
| |
|
|
|
| Vlt. wg. Inkompatiblität der Api zu Deinem (alten?) OS? |
|
|
| |
|
|
|
| @Georg Es muss an Deinem System liegen. Denn auch mit Eingabe eines Ordner/Unterordner/Unterordner/Dateinamen wird in den Papierkorb gelöscht. (Mit Rückfrage) Da ich diesen Code in meiner Dateiverwaltung 2windows4you schon seit ...ME-Zeiten ohne Probleme nutze, kann es nur in Deiner Konfiguration oder Deinem OS liegen
PS: Wenn der Ordner mit seinen Unterordnern und Dateien grösser wie die Kapazität Deines Papierkorbes ist, wird der Ordner mit dem kompletten Inhalt sofort gelöscht ! |
|
|
| |
|
|
|
| Ah - Du meinst sein Papierkorb ist möglicherweise mit etwaigen Bananenschalen und übel riechenden Pizzaresten bereits belegt?
Nur sone Idee. |
|
|
| |
|
|
|
| @iF Mit RECHTEM Mausklick auf das Papierkorb-Icon klappt ein Menu auf: Hier stehen die Eigenschaften des Papierkorbes - Standard-Einstellung ist hier 10% der Plattengrösse. Wenn nun so einiges schon im Papierkorb schlummert (Dateien und Ordner und KEINE Bananenschalen) ist irgendwann der Papierkorb voll ! (passiert auch in Berlin bei den öffentlichen Abfallbehältern) - Kommen nun noch Ordner oder Dateien hinzu, läuft der Papierkorb über und die ankommenden Daten werden gelöscht ! - Meiner Meinung nach ein Fehler in Windows - Man kann aber die Kapazität des Korbes vergrössern - sehe oben (rechter Mausklick usw...) Capiste ? |
|
|
| |
|
|
|
| Horst
Capiste ?
Hm nö - erklär nochmal. |
|
|
| |
|
|
|
|
@iF Mit RECHTEM Mausklick auf das Papierkorb-Icon klappt ein Menu auf: Hier stehen die Eigenschaften des Papierkorbes - Standard-Einstellung ist hier 10% der Plattengrösse. Wenn nun so einiges schon im Papierkorb schlummert (Dateien und Ordner und KEINE Bananenschalen) ist irgendwann der Papierkorb voll ! (passiert auch in Berlin bei den öffentlichen Abfallbehältern) - Kommen nun noch Ordner oder Dateien hinzu, läuft der Papierkorb über und die ankommenden Daten werden gelöscht ! - Meiner Meinung nach ein Fehler in Windows - Man kann aber die Kapazität des Korbes vergrössern - sehe oben (rechter Mausklick usw...) Capiste ? |
|
|
| |
|
|
|
| Hm! Ich glaube langsam versteh ichs - aber - hm ne doch net. Wie also? |
|
|
| |
|
|
|
| |
|
| |
|
|