Français
Forum

Verzeichnis avec allem enthaltenen Fichiers et Unterverzeichnissen (restlos) effacer

 
- page 1 -



Julian
Schmidt
comment peux on un Verzeichnis am elegantesten avec allen Unterverzeichnissen et allem enthaltenen Fichiers effacer?
 
˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
24.07.2011  
 



« cette Beitrag wurde comme Solution gekennzeichnet. »


Dieter
Zornow
pourquoi prends du pas simple qui API zum effacer. ici est un flexibler Code pour Effacer, Kopieren débaptiser et Bewegen. Je pour paramètre peux du dans den corbeille à papier ou bien aussi pas effacer, entier comment tu veux. cela erspart doch den ganzen Hickhack et arbeitet zuverlässig. Im Beispiel wird sans demande un Verzeichnis avec Unterverzeichnissen pas dans den corbeille à papier gelöscht
' paramètre 1: Auszuführende Operation=COPY, DELETE, RENAME, MOVE
' paramètre 2: Quelldatei(en)
' paramètre 3: Zielldatei(en)
' paramètre 4: 0 = Benutzer fragen, 1= sans demande effacer
' paramètre 5: 0 = dans corbeille à papier Déplacer, 1= "endgültig" effacer
' paramètre 6: 0 = démolir chez vorhandener Dossier, 1 = Kopie qui Dossier anlegen

Proc SHFileoperation

    Paramètres opération$,File$,File2$,confirm%,recycle%,can%
    Déclarer opstruct#,file#,file2#,title#,operation&
    Var FOF_Flag% = 1 | 512 |  2048'FOF_MULTIDESTFILES,FOF_NOCONFIRMMKDIR,FOF_NOCOPYSECURITYATTRIBS
    Faible title#,24
    string title#,0 = "Fileoperation Progress"

    Select upper$(opération$)

        CaseOf "RENAME"

        operation&=4

        CaseOf "COPY"

        operation&=2

        CaseOf "MOVE"

        operation&=1

        CaseOf "DELETE"

        operation&=3

    endselect

    cas confirm%:confirm%=16
    Casenot recycle%:recycle%=64

    Si can%

        FOF_Flag% = FOF_Flag% | confirm% | recycle% | $20 | 8'$20 = FOF_WANTMAPPINGHANDLE 8 = FOF_RENAMEONCOLLISION

    D'autre

        FOF_Flag% = FOF_FLAG% | confirm% | recycle%'16 = FOF_NOCONFIRMATION,64 = FOF_ALLOWUNDO

    endif

    Faible opstruct#,30:Faible file#,(Len(file$)+2):Faible file2#,(Len(file2$)+2)
    String file#,0=(file$+Chr$(0)):String file2#,0=(file2$+Chr$(0))
    Long opstruct#,0=GetActiveWindow()' Handle des aufrufenden Fensters
    Long opstruct#,4=operation&'quelle Dateioperation gemacht wird
    Long opstruct#,8=file#' pfrom : ici qui Fichiers pour qui opération
    Long opstruct#,12=file2#'pto ici qui Zieldateinamen ou bien 0
    Word opstruct#,16=FOF_Flag%
    Long opstruct#,18=0'chez abbruch steht ici 1 seulement chez langen Operationen
    Long opstruct#,22=0' muss toujours zéro son, ici wird handle pour SHNameMappings gesetzt chez Kopie
    Long opstruct#,26=Title#'Überschrift des Fortschrittsdialogs chez langen Operationen
    Var FEHLER&=Externe("SHELL32","SHFileOperationA",opstruct#)

    IF (long(opstruct#,18)=1)

        MessageBox("Die Dateioperation wurde abgebrochen!","Abbruch par Benutzer!",64)

    ELSEIF (Fehler& <> 0)

        MessageBox(str$(fehler&),"Es est un faute aufgetreten",16)

    EndIf

    Si val($WinVer)> 5.0

        Cas LONG(opstruct#,22) <> 0:Externe("Shell32","SHFreeNameMappings",LONG(opstruct#,22))'min XP

    endif

    Dispose file#,file2#,opstruct#,title#

ENDPROC

cls
SHFileoperation("Delete","c:\\Temp\\Test\\",»,1,1,0)
imprimer "fertig"
Waitinput
end
 
Er ist ein Mann wie ein Baum. Sie nennen ihn Bonsai., Win 7 32 bit und Win 7 64 bit, mit XProfan X2
26.07.2011  
 



Rekursives AddFiles per XProfans AddFiles-Funktion ou bien sur qui AddFiles.Dll (  [...]  ) et alle gelisteten Fichiers effacer et anschließend un AddDirs (aus AddFiles.Dll) et alle Verzeichnisse entfernen. Du musst toujours en sortir cela sich une Dossier/ Verzeichnis pas entfernen peut.
 
24.07.2011  
 




Julian
Schmidt
merci IF,
mon Voir le texte source so funktioniert soweit, jusqu'à puis cela qui Ausgangsordner selbst pas gelöscht wird. Liegt es vlt daran cela qui Explorer ou bien un anderer Prozess cette blockiert. peux du den Voir le texte source testen?
delete_folder_completely("D:\Test")
Messagebox("Ordner gelöscht","INFO",64)

Proc delete_folder_completely

    Paramètres Pfad$
    var addfiles.dll&=ImportDLL("addfiles.dll",»)
    var h&=Créer("List", 0)
    Chdir Pfad$
    AddFiles("*.*",h&,1)
    MoveListToHandle(h&)

    whileloop GetCount(h&)

        Effacer GetString$(h&,&loop-1)

    Endwhile

    clearlist h&
    Chdir Pfad$
    AddDirs("*.*",h&,1)

    whileloop GetCount(h&),1,-1

        RmDir GetString$(h&,&loop-1)

    Endwhile

    destroywindow(h&)
    RmDir Pfad$
    FreeDLL addfiles.dll&

ENDPROC


13 kB
Hochgeladen:24.07.2011
Downloadcounter86
Download
 
˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
24.07.2011  
 



XProfan 11.2.1.8a.63 Praekompiler [XPSE]
Copyright (C) 1998-2010 XProfan.Com, built DE.

Dossier: c:\dev\test.xprf
avertissement: Unbekannte Escapesequenz dans Stringkonstante: "D:\Test"

[C]ompile [I]nterpr [L]ink [R]unPrc Run[E]xe [S]ource [H]ilfe

XPSE:>
 
24.07.2011  
 




Julian
Schmidt
iF (24.07.11)
avertissement: Unbekannte Escapesequenz dans Stringkonstante: "D:\Test"


et quoi soll cela oui c'est ca bedeuten?
Ist etwa un faute im Code?
 
˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
24.07.2011  
 




Jörg
Sellmeyer
Ist seulement qui Meckerei de XPSE, qui Du simple Backslash statt doppelte verwendest.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
24.07.2011  
 




Julian
Schmidt
Na ensuite, suis je beruhigt.
toutefois un Problem.
pourquoi venez chez dem Voir le texte source une Fehlermeldung?


delete_folder_completely(ChooseDir$(Annuaire choisir:"))
Messagebox("Ordner gelöscht","INFO",64)

Proc delete_folder_completely

    Paramètres Pfad$
    var addfiles.dll&=ImportDLL("addfiles.dll",»)
    var h&=Créer("List", 0)
    Chdir Pfad$
    AddFiles("*.*",h&,1)
    MoveListToHandle(h&)

    whileloop GetCount(h&)

        Effacer GetString$(h&,&loop-1)

    Endwhile

    clearlist h&
    Chdir Pfad$
    AddDirs("*.*",h&,1)

    whileloop GetCount(h&),1,-1

        RmDir GetString$(h&,&loop-1)

    Endwhile

    destroywindow(h&)
    RmDir Pfad$
    FreeDLL addfiles.dll&

ENDPROC


j'ai seulement la première la ligne geändert!
"delete_folder_completely("D:\Test")"
trop
"delete_folder_completely(ChooseDir$(Annuaire choisir:"))"


après que je qui la ligne wieder abändere funktioniert alle wieder comment zuvor.
quelqu'un une concept?

[OFFTOPIC]Descargar
externer Télécharger
[/OFFTOPIC]


Nachtrag: qui Ausgangsordner wird malheureusement immernoch pas gelöscht, selbst si Je l' ordinateur neustarte!

211 kB
Hochgeladen:24.07.2011
Downloadcounter114
Download
 
˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
24.07.2011  
 



@Jörg: pas entier car es hieß aussi "Checkst Du arrêt erstmal selber bevor Du autre tout autor bittest z.B. ses Festplatte trop löschen".
 
24.07.2011  
 



@Julian: Du devrait absolument une chdir-Funktion herstellen qui zurückliefert si qui Verzeichniswechsel erfolgreich était (z.B. per getDir$("@")) bevor Du Dateinamen sammelst de Fichiers qui ensuite gelöscht volonté (devoir). ^ ^
 
25.07.2011  
 




Julian
Schmidt
So quoi dans cet direction?
delete_folder_completely("C:\\Test")
Messagebox("Ordner gelöscht","INFO",64)

Proc delete_folder_completely

    Paramètres Pfad$
    var addfiles.dll&=ImportDLL("addfiles.dll",»)
    var h&=Créer("List", 0)
    Chdir Pfad$
    cas @GETDIR $("@")=Pfad$ : AddFiles("*.*",h&,1)
    MoveListToHandle(h&)

    whileloop GetCount(h&)

        Effacer GetString$(h&,&loop-1)

    Endwhile

    clearlist h&
    Chdir Pfad$
    cas @GETDIR $("@")=Pfad$ :  AddDirs("*.*",h&,1)

    whileloop GetCount(h&),1,-1

        RmDir GetString$(h&,&loop-1)

    Endwhile

    destroywindow(h&)
    cas @GETDIR $("@")=Pfad$ : RmDir Pfad$
    FreeDLL addfiles.dll&

ENDPROC


Julian57 (24.07.11)
toutefois un Problem.
pourquoi venez chez dem Voir le texte source une Fehlermeldung?


delete_folder_completely(ChooseDir$(Annuaire choisir:"))
Messagebox("Ordner gelöscht","INFO",64)

Proc delete_folder_completely

    Paramètres Pfad$
    var addfiles.dll&=ImportDLL("addfiles.dll",»)
    var h&=Créer("List", 0)
    Chdir Pfad$
    AddFiles("*.*",h&,1)
    MoveListToHandle(h&)

    whileloop GetCount(h&)

        Effacer GetString$(h&,&loop-1)

    Endwhile

    clearlist h&
    Chdir Pfad$
    AddDirs("*.*",h&,1)

    whileloop GetCount(h&),1,-1

        RmDir GetString$(h&,&loop-1)

    Endwhile

    destroywindow(h&)
    RmDir Pfad$
    FreeDLL addfiles.dll&

ENDPROC


j'ai seulement la première la ligne geändert!
"delete_folder_completely("D:\Test")"
trop
"delete_folder_completely(ChooseDir$(Annuaire choisir:"))"


après que je qui la ligne wieder abändere funktioniert alle wieder comment zuvor.
quelqu'un une concept?

[OFFTOPIC]Descargar
externer Télécharger
[/OFFTOPIC]


Nachtrag: qui Ausgangsordner wird malheureusement immernoch pas gelöscht (vollständig geleert, mais pas plus), selbst si Je l' ordinateur Neustarte!
 
˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
25.07.2011  
 




ByteAttack
déjà la fois avec deltree probiert?
 
Website:  [...] 
Facebook:  [...] 
25.07.2011  
 




Thomas
Freier
alors, wenn's qui corbeille à papier son darf, et pas absolu restlos son soll, ist chez Effacer aussi pas qui le cas :
'aus qui MMJ-Quellcodesammlung (Dietmar Horn)
'Dossier dans den corbeille à papier Déplacer
'Lauffähig ab Profan-Version 5.0
' PRFellow-Présentation
' Autor: Thomas Bois
' une Dossier dans den corbeille à papier Déplacer (ab Profan 5.0-32)
' paramètre:
' (1): Voller Pfadname
' (2): 1, si Bestätigungs-Dialog angezeigt volonté soll
' une Rückgabe <> 0 markiert une faute ou bien User-Abbruch
Def SHFileOperation(1) !"SHELL32","SHFileOperationA"
Déclarer SHFO#
Déclarer file#

Proc MoveFileToBin

    Paramètres file$,confirm%
    Déclarer flags%, result&
    $ FindFirst(file$)
    Cas %IOResult: Retour -1
    Laisser flags%=64
    Cas confirm%: flags%=80
    Faible SHFO#,30
    Faible file#,Len(file$)+2
    String file#,0=file$
    Long SHFO#,0=GetActiveWindow()
    Long SHFO#,4=3
    Long SHFO#,8=file#
    Long SHFO#,12=0
    Word SHFO#,16=flags%
    Long SHFO#,18=0
    Long SHFO#,22=0
    Long SHFO#,26=0
    result&=SHFileOperation(SHFO#)
    Dispose file#
    Dispose SHFO#
    Retour result&

ENDPROC

' Beispiel
Cls
imprimer MoveFileToBin("C:\\TEST\\Test.txt",1)' seulement la fois so
imprimer MoveFileToBin("C:\\TEST",1)
waitinput
 
Gruß Thomas
Windows XP SP2, XProfan X2
25.07.2011  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

30.868 Views

Untitledvor 0 min.
E.T.22.11.2023
Georg21.01.2021
AndreasS23.12.2018
Klaus Ernst09.01.2018
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie