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 :

script VBS pour suprimer un fichier selon la date de création


Sujet :

VBScript

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2010
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 104
    Points : 37
    Points
    37
    Par défaut script VBS pour suprimer un fichier selon la date de création
    merci de corriger le script ci-dessous, il fonctionnait correctement jusqu'à ce que j'ajoute les lignes concernant la date de création du fchier. en fait, je veux supprimer le fichier outlook.NK2 créer avant la date du 10/05/2010.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim fso,ws,AppData,Chemin,fich
    Set ws = WScript.CreateObject("WScript.Shell")
    Set fso = CreateObject("Scripting.FileSystemObject")
    AppData = ws.ExpandEnvironmentStrings("%AppData%")
    Chemin= AppData & "\Microsoft\Outlook\Outlook.NK2"
    fich=fso.FileExists(chemin)
    If (fich.datecreated<10/05/2010) Then
     If (fich) Then
     Set MyFile = fso.GetFile(chemin)
     MyFile.Delete
     end if
    else
    WScript.Quit
    end if

  2. #2
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 805
    Points
    5 805
    Par défaut
    Remplace ce
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If (fich.datecreated<10/05/2010) Then
    par celui-ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Mid(fich.datecreated,1,10)<"10/05/2010" Then
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  3. #3
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 088
    Points : 16 655
    Points
    16 655
    Par défaut
    Salut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Dim fso, ws, AppData, Chemin, MyFile
    Set ws = CreateObject("WScript.Shell")
    Set fso = CreateObject("Scripting.FileSystemObject")
    AppData = ws.ExpandEnvironmentStrings("%AppData%")
    Chemin = AppData & "\Microsoft\Outlook\Outlook.NK2"
    If fso.FileExists(Chemin) Then
            Set MyFile = fso.GetFile(Chemin)
            If MyFile.datecreated < #10/5/2010# Then
                    MyFile.Delete
            End If
            Else
            WScript.Quit
    End If
    pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  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 224
    Points
    9 224
    Par défaut
    Citation Envoyé par maikess Voir le message
    merci de corriger le script ci-dessous, il fonctionnait correctement jusqu'à ce que j'ajoute les lignes concernant la date de création du fchier. en fait, je veux supprimer le fichier outlook.NK2 créer avant la date du 10/05/2010.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim fso,ws,AppData,Chemin,fich
    Set ws = WScript.CreateObject("WScript.Shell")
    Set fso = CreateObject("Scripting.FileSystemObject")
    AppData = ws.ExpandEnvironmentStrings("%AppData%")
    Chemin= AppData & "\Microsoft\Outlook\Outlook.NK2"
    fich=fso.FileExists(chemin)
    If (fich.datecreated<10/05/2010) Then
     If (fich) Then
     Set MyFile = fso.GetFile(chemin)
     MyFile.Delete
     end if
    else
    WScript.Quit
    end if
    Salut, essaye La Fonction DateDiff(Interval, Date1, Date2)
    L'argument interval peut prendre les valeurs suivantes :
    Valeur Description
    yyyy Année
    q Trimestre
    m Mois
    y Jour de l'année
    d Jour
    w Jour de la semaine
    ww Semaine
    h Heure
    n Minute
    s Seconde
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim fso,ws,AppData,Chemin,fich
    Set ws = CreateObject("WScript.Shell")
    Set fso = CreateObject("Scripting.FileSystemObject")
    AppData = ws.ExpandEnvironmentStrings("%AppData%")
    Chemin= AppData & "\Microsoft\Outlook\Outlook.NK2"
    Set fich=fso.GetFile(chemin)
    AgeMaximalFichiers=3 '3 mois par exemple car j'ai utilisé l'argument m = Mois
    DateSysteme = Date 'On recupère la date système
    If (DateDiff("m", Fich.DateCreated, DateSysteme) < AgeMaximalFichiers) Then
          If Fich.Attributes And 1 Then Fich.Attributes = Fich.Attributes - 1
             Fich.Delete()
          End If

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mars 2010
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 104
    Points : 37
    Points
    37
    Par défaut
    ça marche toujours pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim fso,ws,AppData,Chemin,fich
    Set ws = WScript.CreateObject("WScript.Shell")
    Set fso = CreateObject("Scripting.FileSystemObject")
    AppData = ws.ExpandEnvironmentStrings("%AppData%")
    Chemin= AppData & "\Microsoft\Outlook\Outlook.NK2"
    fich=fso.FileExists(chemin)
    If Mid(fich.datecreated,1,10)<"10/05/2010" Then
     If (fich) Then
     Set MyFile = fso.GetFile(chemin)
     MyFile.Delete
     end if
    else
    WScript.Quit
    end if

  6. #6
    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 224
    Points
    9 224
    Par défaut
    J'espère que ce code va marcher pour vous
    Juste tu enlève le MsgBox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim fso, ws, AppData, Chemin, MyFile
    Set ws = CreateObject("WScript.Shell")
    Set fso = CreateObject("Scripting.FileSystemObject")
    AppData = ws.ExpandEnvironmentStrings("%AppData%")
    Chemin = AppData & "\Microsoft\Outlook\Outlook.NK2"
    If fso.FileExists(Chemin) Then
            Set MyFile = fso.GetFile(Chemin)
            If MyFile.datecreated < "#10/5/2010#" Then
    		Msgbox " Le fichier " & MyFile.name & " va être supprimer !",64,"Fichier à Supprimer"
                    MyFile.Delete
            End If
            Else
            WScript.Quit
    End If

  7. #7
    Nouveau membre du Club
    Inscrit en
    Mars 2010
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 104
    Points : 37
    Points
    37
    Par défaut
    mon outlook.NK2 a la date de création du 20/07/2010. jai donc modifier le script comme suit. a chaque fois que je l'exécute jai le message "Rien à supprimer". ce n'est pas normal, je devais plustot avoir le message "fichier....... va etre supprimer", n'est ce pas?

    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
    Dim fso, ws, AppData, Chemin, MyFile
    Set ws = CreateObject("WScript.Shell")
    Set fso = CreateObject("Scripting.FileSystemObject")
    AppData = ws.ExpandEnvironmentStrings("%AppData%")
    Chemin = AppData & "\Microsoft\Outlook\Outlook.NK2"
    If (fso.FileExists(Chemin)) Then
            Set MyFile = fso.GetFile(Chemin)
            If (MyFile.datecreated <= "#20/07/2010#") Then
    		Msgbox " Le fichier " & MyFile.name & " va être supprimer !",64,"Fichier à Supprimer"
                    MyFile.Delete
                   else
                   Msgbox "Rien à supprimer"
            End If
    Else
    WScript.Quit
    End If

  8. #8
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 088
    Points : 16 655
    Points
    16 655
    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
    Dim fso, ws, AppData, Chemin, MyFile
    Set ws = CreateObject("WScript.Shell")
    Set fso = CreateObject("Scripting.FileSystemObject")
    AppData = ws.ExpandEnvironmentStrings("%AppData%")
    Chemin = AppData & "\Microsoft\Outlook\Outlook.NK2"
    If fso.FileExists(Chemin) Then
            Set MyFile = fso.GetFile(Chemin)
            'If MyFile.datecreated < #10/05/2010# Then
            If MyFile.datecreated < date Then
                    msgbox "ok"
                    'MyFile.Delete
                    else
                    msgbox "Le fichier est au moins de la date de ce jour"
            End If
            Else
            msgbox "le fichier n'a pas été trouvé"
            WScript.Quit
    End If
    ton problème est là
    If (MyFile.datecreated <= "#20/05/2010#") Then
    il ne faut pas mettre de guillemets
    pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  9. #9
    Nouveau membre du Club
    Inscrit en
    Mars 2010
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 104
    Points : 37
    Points
    37
    Par défaut
    ton problème est làil ne faut pas mettre de guillemets
    il a falu que je change le signe inferieur (<) en > pour ce cà marche. ca donne donc le code suivant . Mais je me demande pourquoi le signe superieur?
    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
     
    Dim fso, ws, AppData, Chemin, MyFile
    Set ws = CreateObject("WScript.Shell")
    Set fso = CreateObject("Scripting.FileSystemObject")
    AppData = ws.ExpandEnvironmentStrings("%AppData%")
    Chemin = AppData & "\Microsoft\Outlook\Outlook.NK2"
    If (fso.FileExists(Chemin)) Then
            Set MyFile = fso.GetFile(Chemin)
            If (MyFile.datecreated > "#20/07/2010#") Then
    		Msgbox " Le fichier " & MyFile.name & " va être supprimer !",64,"Fichier à Supprimer"
                    MyFile.Delete
                   else
                   Msgbox "Rien à supprimer"
            End If
    Else
    WScript.Quit
    End If

  10. #10
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 088
    Points : 16 655
    Points
    16 655
    Par défaut
    message d'ouverture de la discussion
    Citation Envoyé par maikess Voir le message
    merci de corriger le script ci-dessous, il fonctionnait correctement jusqu'à ce que j'ajoute les lignes concernant la date de création du fchier. en fait, je veux supprimer le fichier outlook.NK2 créer avant la date du 10/05/2010.
    [/CODE]
    Citation Envoyé par maikess Voir le message
    il a falu que je change le signe inferieur (<) en > pour ce cà marche. ca donne donc le code suivant . Mais je me demande pourquoi le signe superieur?
    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
     
    Dim fso, ws, AppData, Chemin, MyFile
    Set ws = CreateObject("WScript.Shell")
    Set fso = CreateObject("Scripting.FileSystemObject")
    AppData = ws.ExpandEnvironmentStrings("%AppData%")
    Chemin = AppData & "\Microsoft\Outlook\Outlook.NK2"
    If (fso.FileExists(Chemin)) Then
            Set MyFile = fso.GetFile(Chemin)
            If (MyFile.datecreated > "#20/07/2010#") Then
    		Msgbox " Le fichier " & MyFile.name & " va être supprimer !",64,"Fichier à Supprimer"
                    MyFile.Delete
                   else
                   Msgbox "Rien à supprimer"
            End If
    Else
    WScript.Quit
    End If
    moi dans ton dernier exemples je vois toujours les guillemets
    pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  11. #11
    Nouveau membre du Club
    Inscrit en
    Mars 2010
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 104
    Points : 37
    Points
    37
    Par défaut
    ok merci.
    je veux cliquer sur resolu mais je ne vois pas le bouton. merci

Discussions similaires

  1. Réponses: 11
    Dernier message: 12/06/2014, 13h39
  2. script VBS pour la suppression d'un fichier caché
    Par maikess dans le forum VBScript
    Réponses: 2
    Dernier message: 13/07/2010, 17h22
  3. Script VBS pour copier "Mes documents"
    Par DiabloZizi dans le forum Windows
    Réponses: 1
    Dernier message: 06/03/2006, 22h49
  4. Script VBS pour connaitre taille d'une image
    Par fredoh dans le forum Windows
    Réponses: 2
    Dernier message: 24/02/2006, 14h27
  5. Boucle en Dos pour lister des fichiers selon une date
    Par Corben dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 17/12/2005, 12h17

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