begin process at 2012 02 17 10:26:10
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Système

 > 

Fichier & Disque

 > 

creation/supression d'un dossier


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

creation/supression d'un dossier

samedi 4 juillet 2009 à 22:05:03 | creation/supression d'un dossier

orochy

salut!!
je veux taper un code qui lorsque je demmare l'aplication  il verifie si un dossier ( que je ditermine le chemin) existe
si il exist il le suprime pius il le recrie vide !!!
si il n'existe pas il cris le dossier normalement.

voici ma tentative

Private Sub Form_Load()
On Error GoTo skip:
MkDir "C:\WINDOWS\Temp\temp"
skip:
RmDir "C:\WINDOWS\Temp\orochy"
MkDir "C:\WINDOWS\Temp\orochy"
end sub


le problem dans ce code que si le dossier contien des fichiers  il m'affiche une error dans la line
RmDir "C:\WINDOWS\Temp\temp"

heeeelp!!!!!!
samedi 4 juillet 2009 à 22:45:25 | Re : creation/supression d'un dossier

PCPT

Administrateur CodeS-SourceS
salut,

en effet il faut vider le dossier pour pouvoir le supprimer


ou par API :



'    SUPPRESSION D'UN DOSSIER ET DE SON CONTENU
'    http://www.codyx.org/snippet_suppression-dossier-son-contenu_378.aspx#1879
'    Posté par [ PCPT ] le 11/06/2008


Private Const  NOERROR  As Long  0&
Private Const  FO_DELETE  As Long  &H3
Private Const  FOF_ALLOWUNDO  As Long  &H40
Private Const  FOF_CONFIRMMOUSE  As Long  &H2
Private Const  FOF_FILESONLY  As Long  &H80 ' on *.*, do only files
Private Const  FOF_MULTIDESTFILES  As Long  = &H1
Private Const  FOF_NOCONFIRMATION  As Long  = &H10 ' Don't prompt the user.
Private Const  FOF_NOCONFIRMMKDIR  As Long  = &H200 ' don't confirm making any needed dirs
Private Const  FOF_RENAMEONCOLLISION  As Long = &H8
Private Const  FOF_SILENT  As Long  &H4    ' don't create progress/report
Private Const  FOF_SIMPLEPROGRESS  As Long  = &H100 ' means don't show names of files
Private Const  FOF_WANTMAPPINGHANDLE  As Long = &H20 ' Fill in SHFILEOPSTRUCT.hNameMappings
Private Type  SHFILEOPSTRUCT
    hWnd As Long
    wFunc As Long
    pFrom As String
    pTo As String
    fFlags As Integer
    fAborted As Boolean
    hNameMaps As Long
    sProgress As String
End Type
Private Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As AnyAs Long
Public Function DeleteContentDirectory(ByVal sDirSrc As String, Optional ByVal lHandle As Long = 0, Optional ByVal bDeleteContainerFolder As Boolean = True, Optional ByVal bIncludeSubFolders As Boolean = True, Optional ByVal bShowWindowsProgressBox As Boolean = False, Optional ByVal bSendToRecycleBin As Boolean = False, Optional ByVal bShowWindowsAskActionBox As Boolean = False) As Boolean
'sDirSrc                    -> répertoire à supprimer
'lHandle                    -> handle appelant (peut rester à 0)
'bDeleteContainerFolder     -> supprimer le contenu ou également le dossier
'bIncludeSubFolders         -> suppression récursive? ne peut être à faux si on doit supprimer le dossier parent
'bShowWindowsProgressBox    -> affiche la progressbox windows
'bSendToRecycleBin          -> suppression vers la corbeille, sinon définitive
'bShowWindowsAskActionBox   -> boite de dialogue "confirmation de suppression" (ou d'envoi vers corbeille). NB : si FALSE, il n'y a pas non plus de ProgressBox
    On Error GoTo Err_Handler
    Dim tFOS As SHFILEOPSTRUCT
'   on ne peut pas supprimer le dossier parent si on ne supprime pas TOUT le contenu
    If (bDeleteContainerFolder = TrueAnd (bIncludeSubFolders = False) Then Exit Function
    
'   formate le chemin
    If bIncludeSubFolders And bDeleteContainerFolder Then
        If RightB$(sDirSrc, 2) = "\" Then sDirSrc = LeftB$(sDirSrc, LenB(sDirSrc) - 2)
    Else
        If Not (RightB$(sDirSrc, 2) = "\"Then sDirSrc = sDirSrc & "\"
        sDirSrc = sDirSrc & "*.*"
    End If
'   structure
    With tFOS
        .hWnd = lHandle
        .wFunc = FO_DELETE
        .pFrom = sDirSrc & vbNullChar
        .pTo = vbNullChar
        .fFlags = CInt(SetFOSFlag(bIncludeSubFolders, bShowWindowsProgressBox, False, bShowWindowsAskActionBox, bSendToRecycleBin, False))
        .fAborted = False
        .hNameMaps = 0&
        .sProgress = vbNullChar
    End With
        
'   API
    DeleteContentDirectory = (SHFileOperation(tFOS) = NOERROR)
    
Err_Handler:
'   en IDE on peut avoir un message "Mémoire insuffisante" en fin d'action malgré la réussite
    If Err.Number = Then DeleteContentDirectory = True
End Function

Private Function SetFOSFlag(Optional ByVal bIncludeSubFolders As Boolean = True, Optional ByVal bShowWindowsProgressBox As Boolean = False, Optional ByVal bRenameIfExists As Boolean = False, Optional ByVal bShowWindowsAskActionBox As Boolean = False, Optional ByVal bAllowUndo As Boolean = False, Optional ByVal bMulti As Boolean = True) As Long
    SetFOSFlag = FOF_WANTMAPPINGHANDLE Or FOF_NOCONFIRMMKDIR
    If Not bIncludeSubFolders Then SetFOSFlag = SetFOSFlag Or FOF_FILESONLY
    If Not bShowWindowsProgressBox Then SetFOSFlag = SetFOSFlag Or FOF_SILENT
    If bRenameIfExists Then SetFOSFlag = SetFOSFlag Or FOF_RENAMEONCOLLISION
    If Not bShowWindowsAskActionBox Then SetFOSFlag = SetFOSFlag Or FOF_NOCONFIRMATION
    If bAllowUndo Then SetFOSFlag = SetFOSFlag Or FOF_ALLOWUNDO
    If bMulti Then SetFOSFlag = SetFOSFlag Or FOF_MULTIDESTFILES
End Function

'----------------------------------------------------------------
'Remarques :
'bReussite = DeleteContentDirectory("C:\test", lHandle:=0, bDeleteContainerFolder:=True, bIncludeSubFolders:=True, bShowWindowsProgressBox:=False, bSendToRecycleBin:=True)



++




Cette discussion est classée dans : windows, dossier, temp, creation, supression


Répondre à ce message

Sujets en rapport avec ce message

Explorateur windows [ par techouet ] Salut tout le monde!Je recherche un moyen pour sélectionner un dossier à l'aide d'un exploratuer du type windows.En effet la commande GetOpenFileName Supprimer des fichiers ! HELP !!! [ par Leurch ] Salut,J'essai de supprimer tous les fichiers d'un meme type (par ex les fichier temps).Mon code ressemble a ca :Private Sub Command3_Click()ChDrive "c WTF??? Erreur avec dossier windows [ par ironz ] jai mit ca dans ma form:Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Lon Windows XP : mes documents!!! [ par GhnombX ] Hello!Je voudrais déclacer l'adresse du dossier ou sont stockés les trucs sur winXPC:\Documents and Settings\[utilisateur]\Mes documentspour une adres Zipper un fichier!!! help!!! [ par Alexandre Gauthier ] Je cherche comment faire pour Zipper un dossier précis "c:\windows\temp\base1"sans comperssion.Puis pouvoir Dezipper "repertoire+fichier.zip" vers "c: creation d'un dossier sur un ftp!!???!!! [ par Alexandre Gauthier ] j'essaye de cree un nouveau dossier sur un compte ftp... voici mon code:With Inet1 .url = "ftp.geocites.com" .UserName = "salut" .password creation d'un "nouveau dossier(1)", (2) ect.. [ par gmni ] Salut,Je cherche un moyen pour subtiliser la creation d'un "nouveau dossier"avec le bouton droit de la souris sous Windows2000... c'est a dire reprend Envoyer un Fichier joint excel avec un bouton [ par cpam ] BonjourJ'ai un formulaire excel remplissable sur internet . Je souhaite qu'une fosi le fichier excel soit rempli, la personne n'ait plus qu'a cliquer guillemet dans une commande shell [ par Darkukai ] Darkukaibonjour a tous dabordj'explique mon problème en vous mettant mon code çà sera plus simpleje dois faire çàShell("d:\lol\sh.exe -c "mkisofs.exe guillemet dans un shell [ par Darkukai ] Darkukaibonjour a tous dabordj'explique mon problème en vous mettant mon code çà sera plus simpleje dois faire çàShell("d:\lol\sh.exe -c "mkisofs.exe


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,437 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales