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 :

Stocker toutes les heures le nombre de fichiers dans un dossier


Sujet :

VBScript

  1. #1
    Membre habitué
    Inscrit en
    Juin 2009
    Messages
    346
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 346
    Points : 163
    Points
    163
    Par défaut Stocker toutes les heures le nombre de fichiers dans un dossier
    Bonjour à vous, je désire réaliser la chose suivante :

    Stocker toutes les heures dans un txt par exemple, le nombre de fichiers dans un dossier.

    Je n'ai pas trouvé d'application à télécharger donc il faudrait que je la créé.

    Croyez vous que c'est possible en VB ?

    Je n'y connais pas grand chose alors je sollicite votre avis.

    Cordialement,

    Eric.

  2. #2
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Bonjour,

    bien sûr que c'est possible !
    http://vb.developpez.com/faq/?page=F...mpteFichierRep
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 73
    Points : 64
    Points
    64
    Par défaut
    bonjour
    et pour enregistrer dans un fichier text:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim ff As Integer
    ff = FreeFile
    Open "chemin de ton fichier text" For Output As #ff
    Print #ff, "ici ce que tu veut enregistrer"
    Close #ff

  4. #4
    Membre habitué
    Inscrit en
    Juin 2009
    Messages
    346
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 346
    Points : 163
    Points
    163
    Par défaut
    Ok, merci pour vos réponses, je vais maintenant poser une question qui va vous faire enrager de par sa probable stupidité.

    En regardant vos 2 réponses, ceci voudrait dire que :

    je tape :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Function nbfich(chemin As String, ParamArray termin() As Variant) As Long
    Dim fichier As String
    Dim extension As Variant
    Dim compteur As Long
    For Each extension In termin
       fichier = dir(chemin & "\*." & extension)
       Do Until fichier = ""
       compteur = compteur + 1
       fichier = dir
       Loop
    Next extension
    nbfich = compteur
    End Function
    C'est la fonction qui permet d'extraire le nombre de fichiers d'un dossier.

    Ensuite je tape :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim ff As Integer
    ff = FreeFile
    Open "c:\TXT\historique.txt" For Output As #ff
    Print #ff, nbfich("c:\XML\","xml")
    Close #ff
    Et le nombre de fichiers xml contenus dans c:\XML va s'écrire dans c:\TXT\historique pour txt.

    C'est ca ?

    et au passage... je tape ca dans le bloc note et j'enregistre en .exe ? ^^

    Eric.

  5. #5
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    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 077
    Points : 17 175
    Points
    17 175
    Par défaut
    Citation Envoyé par EriCstoFF Voir le message
    Ok, merci
    .............
    et au passage... je tape ca dans le bloc note et j'enregistre en .exe ? ^^

    Eric.

    Ici c'est le forum VB6 et antérieur, pour "jouer" ton code comme tu le souhaites, tu peux programmer en VBScript.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 73
    Points : 64
    Points
    64
    Par défaut
    fallait préciser au début que tu veut utilisé bloc note (VBS) et pas VB6,
    voila ton code est pret en vbs tu n'a qu'a le mettre dans le bloc note :

    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
    'ici on trouve le nombre de fichier dans le répertoire
    Dim stRep 
    Dim oFSO,oFl,allfichier
    ' "allfichier" est le nombre de fichier, on commence à 0 puis on l'incremente a chaque fois qu'on trouve un fichier
    allfichier = 0
    Set oFSO = CreateObject("Scripting.FileSystemObject")
    stRep = "c:\XML\"
    If oFSO.FolderExists(stRep) Then
     For each oFl in  oFSO.GetFolder(stRep).Files
     'ici on a trouvé un fichier et on va voir si son extention est xml ou pas
     'lcase pour mettre tout en miniscule puis faire la comparaison
     if lcase(right(oFl.Name,4)) = ".xml" then
       allfichier = allfichier + 1
       end if
     Next
    End If
     
     
    'ici on va ecrire le nombre dans un fichier texte
       Const ForWriting = 2
       Dim fso, f   
       Set fso = CreateObject("Scripting.FileSystemObject")
       Set f = fso.OpenTextFile("c:\TXT\historique.txt", ForWriting,true)
       f.write(allfichier)

  7. #7
    Membre habitué
    Inscrit en
    Juin 2009
    Messages
    346
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 346
    Points : 163
    Points
    163
    Par défaut
    Désolé de la question mais... je copie ton code dans bloc note et j'enregistre avec quelle extention ?

    Si ce n'est pas en .exe, avec quoi dois-je l'executer ?

    Eric.

  8. #8
    Membre habitué
    Inscrit en
    Juin 2009
    Messages
    346
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 346
    Points : 163
    Points
    163
    Par défaut
    C'est bon, j'ai mis en VBS et en effet j'obtiens bien ton fichier texte avec le bon nombre.

    Ma question est la suivante : je voudrais stocker ce nombre toutes les heures automatiquement. Cela va t-il le faire ?

    2è : je voudrais que ce nombre s'écrive après le précédent... pour éviter que la nouvelle réponse écrase l'ancienne.

    C'est possible ?

    Eric.

  9. #9
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Bonjour,
    Citation Envoyé par EriCstoFF Voir le message
    Désolé de la question mais... je copie ton code dans bloc note et j'enregistre avec quelle extention ? .../...
    vbs comme précédemment indiqué si tu t'en tiens à la procédure décrite ...
    Citation Envoyé par EriCstoFF Voir le message
    .../...
    Si ce n'est pas en .exe, avec quoi dois-je l'executer ?

    Eric.
    Etant donné qu'ils ont lu ta question initiale que partiellement
    et qu'on ne trouve aucune allusion à un quelconque timer,
    probablement en cliquant dessus toutes les heures lol

  10. #10
    Membre habitué
    Inscrit en
    Juin 2009
    Messages
    346
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 346
    Points : 163
    Points
    163
    Par défaut
    En fait pour le timer, avec l'application "Taches planifiées", on doit pouvoir s'en sortir.

    Par contre ce que je voudrais vraiment obtenir, c'est que lorsque j'execute le VBS, qu'il m'écrive le nouveau nombre après l'ancien au lieu de l'écraser.

    Si j'obtiens ceci alors c'est gagné.

    Quelqu'un ?

    Merci par avance.

  11. #11
    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 038
    Points
    20 038
    Par défaut
    il te suffit de changer le paramètre "ioMode" lors de l'ouverture de ton fichier


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Const ForAppending = 8
    (...)
       Set f = fso.OpenTextFile("c:\TXT\historique.txt", ForAppending ,true)

  12. #12
    Membre habitué
    Inscrit en
    Juin 2009
    Messages
    346
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 346
    Points : 163
    Points
    163
    Par défaut
    Merci t'es un chef... même si j'imagine que pour toi c'était hyper simple.

    Pour terminer et pour fignoler, pourrais-tu me dire comment noter le nouveau nombre sous l'ancien ?

    En effet, s'il y a 5 puis 6 puis 9 fichiers, le fichier texte sera :
    569
    et je préfèrerais :
    5
    6
    9
    histoire de pouvoir exploiter le résultat.

    Merci d'avance à toi et bonne journée.

    Eric.

  13. #13
    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 038
    Points
    20 038
    Par défaut
    Il te faut rajouter un "retour-chariot" à la fin de tes lignes .

    remplace :
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     f.WriteLine(allfichier)

  14. #14
    Membre habitué
    Inscrit en
    Juin 2009
    Messages
    346
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 346
    Points : 163
    Points
    163
    Par défaut
    Merci beaucoup ! Je viens de programmer la tache planifée et tout est OK.

    Merci à tous.

    Eric.

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

Discussions similaires

  1. Compter le nombre de fichier dans un dossier
    Par tibo894 dans le forum Langage
    Réponses: 5
    Dernier message: 08/05/2009, 13h15
  2. Limite du nombre de fichiers dans un dossier sous Fedora4 ?
    Par arkofab dans le forum RedHat / CentOS / Fedora
    Réponses: 1
    Dernier message: 15/08/2007, 00h58
  3. Nombre de fichiers dans un dossier
    Par AC88mm dans le forum MATLAB
    Réponses: 2
    Dernier message: 21/03/2007, 15h00
  4. Réponses: 2
    Dernier message: 05/01/2007, 12h27
  5. [VBA-E]Compter nombre de fichier dans un dossier
    Par Elstak dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 22/05/2006, 14h36

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