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 :

VBS en mode Aléatoire


Sujet :

VBScript

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2020
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2020
    Messages : 114
    Points : 92
    Points
    92
    Par défaut VBS en mode Aléatoire
    Bonjour à toute et tous

    je reviens vers vous pour une nouvelle questions.

    je posséde un batch qui est capable de lancer aléatoirement n'importe quel fichier Vbs, Mp3, exe, etc

    ma question et donc peut on faire la même chose en Vbs

    voici le

    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    @echo off
    set /a max=5
    set /a nbr=5
    For %%a In ("*.*") Do set /a max+1
    set /a nbr=%random%%%%max%
    start C:\Apps\Media\Movies\action\%nbr%.vbs
    exit

  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
    Un exemple simple RunFile.vbs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Option Explicit
    Dim oArgs, fso, TheFile
     
    Set oArgs = Wscript.Arguments
    Set fso = CreateObject("Scripting.FileSystemObject")
    If oArgs.Count = 0 Then
       MsgBox "Ce script demande un fichier par glisser / déposer", , "L'opération va être arrêtée !"
       Wscript.quit
    End If
    Set TheFile = fso.GetFile(oArgs(0))
    CreateObject("Wscript.Shell").Run TheFile.ShortPath, 1, True
    On ne lance pas le script par double clic mais en déposant le fichier voulu sur le fichier que j'ai dénommé RunFile.vbs ou en ligne de commande par exemple : C:\Temp\RunFile.vbs C:\..\..\Monfichier.mp3
    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
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2020
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2020
    Messages : 114
    Points : 92
    Points
    92
    Par défaut
    Bonsoir l_autodidacte et merci de votre réponse.

    j'aimerais si possible pouvoir activer par double clique, et surtout renseigner le repertoire choisi comme dans le batch
    tout du moins dans la mesure du possible, encore merci de votre réponse.

  4. #4
    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
    Dans ce code, il y a 2 possibilités de lancer le fichier : Par Glisser/Déposer ou par double clic en insérant le chemin complet au fichier voulu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Option Explicit
    Dim oArgs, fso, TheFile, FileName
     
      Set oArgs = Wscript.Arguments
      Set fso = CreateObject("Scripting.FileSystemObject")
      If oArgs.Count > 0 Then
          Set TheFile = fso.GetFile(oArgs(0))
          CreateObject("Wscript.Shell").Run TheFile.ShortPath, 1, True
      Else
          FileName = InputBox("Donner le chemin complet au fichier à lancer", "Fichier à lancer")
          FileName = fso.GetFile(FileName).ShortPath
          CreateObject("Wscript.Shell").Run FileName, 1, True
      End If
    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

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2020
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2020
    Messages : 114
    Points : 92
    Points
    92
    Par défaut
    Je sais que ma question va être bête :-)
    Vous renseignez le chemin du dossier sur quel ligne???

  6. #6
    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
    En double cliquant sur le fichier, une boite de dialogue s'ouvre.
    Dans cette boite, il y a un champ de saisie vide, c'est là qu'il faut mettre le chemin du fichier
    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

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2020
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2020
    Messages : 114
    Points : 92
    Points
    92
    Par défaut
    tout d'abord merci à vous

    le fichier ce lance effectivement

    mais ce que je voudrais c'est qu'il lance un dossier complet avec des mp3 par exemple, en mode aléatoire et sans boite de dialogue

    comme le batch plus haut. tout du moins si c'est possible, d'ou ma question. car mon batch le fais avec n'importe quel sorte de fichier mp3, mkv, mp4, vbs etc.
    j'ai choisit le format vbs plutot que le batch. pour sa rapidité.

  8. #8
    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
    Peut-être comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Option Explicit
    Dim fso, oFold, oFile, I, Cnt, TBL(20)
     
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set oFold = fso.GetFolder("C:\Temp") ' Chemin à modifier selon le besoin
    Cnt = oFold.Files.Count
    I = 0
    For Each oFile In oFold.Files
        TBL(I) = oFile.ShortPath
        I = I + 1
    Next
     
    Randomize
    CreateObject("Wscript.Shell").Run TBL(Int(Rnd*Cnt)), 1, True
    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

  9. #9
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2020
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2020
    Messages : 114
    Points : 92
    Points
    92
    Par défaut
    Nom : Capture.PNG
Affichages : 162
Taille : 27,3 Ko


    j'ai malheuresement une erreur

  10. #10
    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 171
    Points
    17 171
    Par défaut
    Salut

    Un petit oubli de l_autodidacte , le dimensionnement du tableau par le nombre de fichiers contenu dans le dossier.
    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
    Option Explicit
    Dim fso, oFold, oFile, I, Cnt, TBL()
     
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set oFold = fso.GetFolder("C:\MesProgs") ' Chemin à modifier selon le besoin
    Cnt = oFold.Files.Count
    Redim Preserve TBL(Cnt)
    I = 0
    For Each oFile In oFold.Files
        TBL(I) = oFile.ShortPath
        I = I + 1
    Next
    Randomize
    'CreateObject("Wscript.Shell").Run TBL(Int(Rnd*Cnt)), 1, True
    'pour la démo
    msgbox "Titre aléatoire: " & TBL(Int(Rnd*Cnt))
    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 ← ← 👈

  11. #11
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2020
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2020
    Messages : 114
    Points : 92
    Points
    92
    Par défaut
    Bonjour ProgElect, Bonjour L_autodidacte

    un grand merci à vous messieurs.

    problème résolu

    pour moi résolu

    une dérnière question à titre de curiostié peut ton jouer les ficher audio en mode invisible tout en étant aléatoire???

  12. #12
    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 171
    Points
    17 171
    Par défaut
    Re

    Pour ta dernière question, oui, 2ém paramètre de la commande Run.
    Tu devrais récupérer le fichier d'aide en ligne Où trouver l'aide en ligne pour VBScript ?, une fois installé, tu tapes run dans la case Entrez un mot à rechercher
    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 ← ← 👈

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

Discussions similaires

  1. [PPT-365] Changement de couleur d'une forme après un clic, et dans un mode aléatoire
    Par Splintkill dans le forum VBA PowerPoint
    Réponses: 1
    Dernier message: 29/08/2019, 16h31
  2. [PHP 5.6] Option value en mode aléatoire
    Par yule dans le forum Langage
    Réponses: 3
    Dernier message: 27/02/2017, 09h28
  3. IE11 mode IE7 en VBS
    Par poupy dans le forum VBScript
    Réponses: 0
    Dernier message: 14/04/2014, 13h51
  4. Le grand mode d'emploi du forum, à lire si vous souhaitez tout savoir !
    Par Anomaly dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 2
    Dernier message: 03/06/2013, 17h36
  5. redémarrer windows en mode sans echec en VBS
    Par Antho87 dans le forum VBScript
    Réponses: 0
    Dernier message: 09/02/2010, 14h12

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