IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Code ne fonctionne pas pour les sous dossiers


Sujet :

VBScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 18
    Points : 6
    Points
    6
    Par défaut Code ne fonctionne pas pour les sous dossiers
    Bonjour à tous,

    j'aimerai savoir pourquoi ce code VBS ne recherche pas les fichiers log ou bak dans les sous-dossiers ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Const DeleteReadOnly = True
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    objFSO.DeleteFile("C:\Down\*.log"), DeleteReadOnly
    objFSO.DeleteFile("C:\Down\*.bak"), DeleteReadOnly
    merci par avance
    @+

  2. #2
    Rédacteur
    Avatar de omen999
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 299
    Points : 3 554
    Points
    3 554
    Par défaut
    bonjour,
    et comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Const DeleteReadOnly = True
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    objFSO.DeleteFile "C:\Down\*.log", DeleteReadOnly
    objFSO.DeleteFile "C:\Down\*.bak", DeleteReadOnly

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    Merci Omen
    j'ai toujours un message d'erreur :"Ligne 3 caractère 1" !!
    que faire ?

  4. #4
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 840
    Points : 9 225
    Points
    9 225
    Par défaut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    Dim Dossier 'Nom du répertoire à parcourir
    Dim oFSO,oFld,oSubFolder,strFileSize,ws,NomFichierLog,temp,PathNomFichierLog,OutPut,ext
    ext = Array("log","bak") 'extensions à supprimer
    Set oFSO = CreateObject("Scripting.FileSystemObject")
    Set ws = CreateObject( "Wscript.Shell" )
    Title = "Suppression des Fichiers"
    'Comptage des fichiers effaces 
    NbFichiersEffaces = 0 
    NomFichierLog= "Fichiers Supprimés_"& Day(Now)&"_"& Month(Now)&"_"& year(Now) &".txt"
    Set OutPut = oFSO.OpenTextFile(NomFichierLog,2,True)
    Dossier = "C:\Down\"
    'On verifie que le repertoire existe 
    If (myName = Winrep = oFSO.FolderExists(Dossier)) = False Then 
        Erreur = MsgBox("Le dossier est introuvable !",16,"Test d'existence du dossier" ) 
        Wscript.Quit 
    End If 
     
    Function qq(strIn)
        qq = Chr(34) & strIn & Chr(34)
    End Function
     
    ParcoursRep Dossier
    OutPut.Writeline Cstr(NbFichiersEffaces) + " fichiers en total ont été supprimés avec succés !"
     
    Sub ParcoursRep (stRep )
        MsgBox "On Traite le Répertoire : " & qq(stRep),64,qq(stRep)
        If oFSO.FolderExists(stRep) Then
        Set oFld = oFSO.GetFolder(stRep)
        end If
    output.writeLine "Le Nom et le chemin du répertoire :" & qq(oFld.Path)  & " et il contient " & oFld.SubFolders.count & " sous-répertoires"
    output.writeline String(100,"*")
     
    For i = lbound(ext) to ubound(ext) 
    For each File in oFld.Files
    If UCase(ext(i)) = UCase(oFSO.GetExtensionName(File.Name)) Then 
    OutPut.WriteLine File.Path 
    Msgbox File.Path,64,File.Path
    File.Delete()
    NbFichiersEffaces = NbFichiersEffaces + 1 
    End If 
    Next
    Next
    output.writeLine "Il y a "& oFld.Files.count & " Fichiers dans le dossier "& qq(oFld.Path) &_
    "et "& Cstr(NbFichiersEffaces) & " Fichiers qui ont été supprimés !"
    output.writeline String(100,"*")
     
        For each oSubFolder in oFld.subFolders
            ParcoursRep oSubFolder.Path 'appel récursif de la procédure
        Next
    end sub
     
    OutPut.Writeline Cstr(NbFichiersEffaces) + " fichiers ont été supprimés !"
    MsgBox (Cstr(NbFichiersEffaces) + " fichiers ont été supprimés !" ),64,Cstr(NbFichiersEffaces) + " fichiers ont été effacés"

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    Merci hackoofr,
    effectivement ça n'a rien a voir mon code !!
    cela correspondant parfaitement a mes attentes !!

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    petite question tous de même, comment éviter d'avoir le fichier "Fichiers Supprimés...txt" créer après chaque opération ?
    @+

  7. #7
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 840
    Points : 9 225
    Points
    9 225
    Par défaut
    Citation Envoyé par archi57 Voir le message
    petite question tous de même, comment éviter d'avoir le fichier "Fichiers Supprimés...txt" créer après chaque opération ?
    @+
    supprime les lignes de output et output.writeline

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    je viens d'essayer, malheureusement j'ai un message d'erreur...j'ai dû enlevé une ligne de trop...mais laquelle ?!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    Dim Dossier 'Nom du répertoire à parcourir
    Dim oFSO,oFld,oSubFolder,strFileSize,ws,NomFichierLog,temp,PathNomFichierLog,OutPut,ext
    ext = Array("log","bak","bak0") 'extensions à supprimer
    Set oFSO = CreateObject("Scripting.FileSystemObject")
    Set ws = CreateObject( "Wscript.Shell" )
    Title = "Suppression des Fichiers"
    'Comptage des fichiers effaces 
    NbFichiersEffaces = 0
    NomFichierLog= "Fichiers Supprimés_"& Day(Now)&"_"& Month(Now)&"_"& year(Now) &".txt"
    Dossier = "C:\Mes documents Archi\"
    'On verifie que le repertoire existe 
    If (myName = Winrep = oFSO.FolderExists(Dossier)) = False Then 
    Erreur = MsgBox("Le dossier est introuvable !",16,"Test d'existence du dossier" ) 
    Wscript.Quit 
    End If
    Function qq(strIn)
    qq = Chr(34) & strIn & Chr(34)
    End Function
    ParcoursRep Dossier
    Sub ParcoursRep (stRep )
    If oFSO.FolderExists(stRep) Then
    Set oFld = oFSO.GetFolder(stRep)
    end If
    For i = lbound(ext) to ubound(ext) 
    For each File in oFld.Files
    If UCase(ext(i)) = UCase(oFSO.GetExtensionName(File.Name)) Then
    File.Delete()
    NbFichiersEffaces = NbFichiersEffaces + 1 
    End If 
    Next
    Next
    "et "& Cstr(NbFichiersEffaces) & " Fichiers qui ont été supprimés !"
    For each oSubFolder in oFld.subFolders
    ParcoursRep oSubFolder.Path 'appel récursif de la procédure
    Next
    end sub
    MsgBox (Cstr(NbFichiersEffaces) + " fichiers ont été supprimés avec succés !" ),64,Cstr(NbFichiersEffaces) + " fichiers ont été effacés"

  9. #9
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Citation Envoyé par archi57 Voir le message
    je viens d'essayer, malheureusement j'ai un message d'erreur
    et bien lit le ce message !



    et il dit quoi le message d'erreur ? sur qu'elle ligne l'erreur ?

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    erreur ligne 32 caractère 1 !!

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 18
    Points : 6
    Points
    6
    Par défaut
    c'est bon j'ai trouvé la ligne en trop !!
    "et "& Cstr(NbFichiersEffaces) & " Fichiers qui ont été supprimés !"

    merci pour tous
    @+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. SaveChanges ne fonctionnant pas pour les mises en formes de cellules
    Par hichemnho dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 10/05/2014, 17h53
  2. Mon htaccess ne fonctionne pas avec les sous-domaines
    Par pierrot10 dans le forum Apache
    Réponses: 3
    Dernier message: 04/06/2012, 08h54
  3. [WS 2008] Perte des paramètres de sécurité pour les sous-dossiers
    Par Gloup dans le forum Windows Serveur
    Réponses: 0
    Dernier message: 26/05/2010, 14h21
  4. Réponses: 3
    Dernier message: 03/01/2010, 20h53
  5. Réponses: 4
    Dernier message: 04/11/2009, 22h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo