| |
|
|
- 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 - |
|
| 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? |
|
|
| |
|
|
|
| |
|
| |
|
|
| |
|
- Seite 3 - |
|
|
GDL | Also der Papierkorb ist leer und das Testverzeichniss ist lediglich ca. 100k voll. Alles was mit dem WinExplorer oder anderen Programmen gelöscht werden soll wird vorher einwandfrei ne Sicherheitsabfrage gestartet und schön ordentlich in den Papierkorb geschoben.
Der einzigste Unterschied beim BS ist der, das du XPhome und ich XPprof habe.
Servus Georg |
|
|
| |
|
|
|
| Ja aber nun zeig doch mal exakt Deinen Code Vlt. steckt der Teufel im Detail. |
|
|
| |
|
|
|
GDL | Ich habe am Code nichts gemacht. Ich habe einfach diesen Codeteil testen mögen. KompilierenMarkierenSeparierenDef @Shfileoperation(1) !SHELL32,SHFileOperationA
Proc Fileaction
Parameters Action$,File$,File2$,Noconfirm%,Norecycle%
Parameter 1: Auszuführende Aktion=COPY, DELETE, RENAME, MOVE
Parameter 2: Quelldatei
Parameter 3: Zielldatei
Parameter 4: 0 = User erst fragen, 1= ohne Nachfrage löschen
Parameter 5: 0 = In Papierkorb verschieben, 1= endgültig löschen
Declare Fof_flag%,Action&,Do%,Fehler&
Declare Opstruct#,File#,File2#
Let Do%=0
If @Upper$(Action$)=RENAME
Let Action&=4
Elseif @Upper$(Action$)=COPY
Let Action&=2
Elseif @Upper$(Action$)=MOVE
Let Action&=1
Elseif @Upper$(Action$)=DELETE
Let Action&=3
Else
@Messagebox(Diese Funktion ist nicht bekannt!,Aktion wird nicht ausgeführt!,64)
Let Do%=1
Endif
If Do%=0
Case Noconfirm% : Let Noconfirm%=16
Casenot Norecycle% : Let Norecycle%=64
Let Fof_flag% = @Or(Noconfirm%,Norecycle%)
Dim Opstruct#,30
Dim File#,Add(Len(File$),2)
Dim File2#,Add(Len(File2$),2)
String File#,0=@Add$(File$,@Chr$(0))
String File2#,0=@Add$(File2$,@Chr$(0))
Long Opstruct#,0=%Hwnd Handle des aufrufenden Fensters
Long Opstruct#,4=Action&
Long Opstruct#,8=File# pfrom : hier der zu löschende Ordner
Long Opstruct#,12=File2# pto (muß 0 oder eine Bereichvar. mit Zieldateinamen z.B. bei Umbenennung sein
Word Opstruct#,16=Fof_flag%
Long Opstruct#,18=0 Hier 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
Let Fehler&=@Shfileoperation(Opstruct#)
If @Equ(@Long(Opstruct#,18),1)
@Messagebox(Die Dateioperation wurde abgebrochen!,Operation abgebrochen!,64)
Elseif @Neq(Fehler&,0)
@Messagebox(Es ist ein Fehler aufgetreten,ShFileOperation +@Str$(Fehler&),16)
Endif
Dispose File#
Dispose File2#
Dispose Opstruct#
Endif
Endproc
Fileaction DELETE,C: est,,0,0
sonst nichts, wollte nur guggen ob ich es brauchen kann.(Kann es aber aus einem anderen Grund eh nicht brauchen).Da es anscheinend nur bei mir nicht geht, lassma das ganze nun.
Servus Georg
P.S. Bei Kopieren klappt der 4. Parameter, hier wird nachgefragt ob bei einem bereits vorhandenem Ordner oder File überschrieben werden soll. Also bei Parameter 4 = 0. Bei Parameter 1 wird ohne Warnung darüber kopiert. Nur beim Löschen wird halt immer ratzfatz endgültig verfahren. |
|
|
| |
|
|
|
| @Georg Mein Code unterscheidet sich ein wenig vom Code, den Dir Andreas geschickt hat. Meiner verlangt nur DREI Parameter - Er ist nur für das Löschen zuständig - Teste diesen Code mal |
|
|
| |
|
|