Deutsch
Quelltexte/ Codesnippets

Dateien Kopieren Ordner Unterordner

 
- 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
 
XProfan-Version 10+11
Betriebssystem Win7
08.09.2006  
 



 
- Seite 2 -


Vlt. wg. Inkompatiblität der Api zu Deinem (alten?) OS?
 
26.06.2007  
 



@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 !
 
26.06.2007  
 



Ah - Du meinst sein Papierkorb ist möglicherweise mit etwaigen Bananenschalen und übel riechenden Pizzaresten bereits belegt?

Nur sone Idee.
 
26.06.2007  
 



@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 ?
 
26.06.2007  
 



Horst
Capiste ?


Hm nö - erklär nochmal.
 
26.06.2007  
 




@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 ?
 
26.06.2007  
 



Hm! Ich glaube langsam versteh ichs - aber - hm ne doch net. Wie also?
 
26.06.2007  
 




 
26.06.2007  
 



 
- 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
 
Windows7 Xprofan 8,9,10 [...]  [...] 
26.06.2007  
 



Ja aber nun zeig doch mal exakt Deinen Code Vlt. steckt der Teufel im Detail.
 
26.06.2007  
 




GDL
Ich habe am Code nichts gemacht. Ich habe einfach diesen Codeteil testen mögen.
KompilierenMarkierenSeparieren
Def @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.
 
Windows7 Xprofan 8,9,10 [...]  [...] 
26.06.2007  
 



@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
 
26.06.2007  
 




Zum Quelltext


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

26.495 Betrachtungen

Unbenanntvor 0 min.
PETER195618.07.2018
R.Schneider20.03.2017
Uwe Lang20.07.2013
maxpayne200129.04.2013
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie