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, raccourci et bat..


Sujet :

VBScript

  1. #1
    Membre averti
    Femme Profil pro
    bordeaux
    Inscrit en
    Avril 2017
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : bordeaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2017
    Messages : 39
    Par défaut vbs, raccourci et bat..
    Bonjour, afin de tester mon ping en bat j'utilise ceci et ça marche nickel:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    PING www.google.fr -n 6 > NUL
     
    IF %ERRORLEVEL% EQU 0 (calc.exe) ELSE (notepad.exe)
     
    PAUSE>NUL
    mais quand je tente de l'insérer dans ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Set oShell = CreateObject("WScript.Shell")
    strHomeFolder = oShell.ExpandEnvironmentStrings("%USERPROFILE%")
     
    Set lnk = oShell.CreateShortcut(strHomeFolder & "\chrome.lnk")
     
    lnk.WindowStyle = 
    lnk.IconLocation = 
    lnk.TargetPath = "cmd.exe"
    lnk.arguments = "/C PING www.google.fr -n 3 > NUL & IF %ERRORLEVEL% EQU 0 (calc.exe) ELSE (notepad.exe)"
    lnk.Save
    oShell.Run (strHomeFolder & "\testping.lnk")
    Il ne prend pas en compte correctement ma condition, le code n'arrive pas à faire le lien avant et après le "&" je crois... il fait comme si il n'y a pas d'erreur lorsque je coupe ma connexion comment faire ?

    Je vous remercie !

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    J'ai une exception il faut que je mette en remarque deux lignes
    Code vbs : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Set oShell = CreateObject("WScript.Shell")
    strHomeFolder = oShell.ExpandEnvironmentStrings("%USERPROFILE%")
     
    Set lnk = oShell.CreateShortcut(strHomeFolder & "\chrome.lnk")
     
    'lnk.WindowStyle = 
    'lnk.IconLocation = 
    lnk.TargetPath = "cmd.exe"
    lnk.arguments = "/C PING www.google.fr -n 6 > NUL & IF %ERRORLEVEL% EQU 0 (calc.exe) ELSE (notepad.exe)"
    lnk.Save

    Il me semble que ERRORLEVEL est évalué "correctement" à partir d'un fichier de commande (bat, cmd) et pas en ligne de commande directement.

    Préfère cette syntaxe de manière général :
    Code vbs : Sélectionner tout - Visualiser dans une fenêtre à part
    PING www.google.fr -n 6 >nul&&(calc.exe)||(notepad.exe)

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 843
    Par défaut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Set oShell = CreateObject("WScript.Shell")
    strHomeFolder = oShell.ExpandEnvironmentStrings("%USERPROFILE%")
    Set lnk = oShell.CreateShortcut(strHomeFolder & "\testping.lnk")
    lnk.TargetPath = "cmd.exe"
    lnk.arguments = "/C PING www.google.fr -n 1 && (calc.exe) || (notepad.exe)"
    lnk.Save
    oShell.Run strHomeFolder & "\testping.lnk",0,True
    Ou bien en vbscript sans passer par un batch ou cmd avec une exécution plus rapide
    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
    Option Explicit
    Dim ws
    Set ws = CreateObject("wscript.shell")
    If IsOnLine("www.google.fr") Then
        ws.run "calc.exe"
    Else
        ws.run "Notepad.exe"
    End If
    '**************************************************************************************
    Function IsOnLine(strHost)
        Dim objPing,i,objRetStatus,PingStatus
        Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery _
        ("select * from Win32_PingStatus where address = '" & strHost & "'")
        i = 0
        Do
            i = i + 1
            For Each objRetStatus In objPing
                If IsNull(objRetStatus.StatusCode) Or objRetStatus.StatusCode <> 0 Then
                    PingStatus = False
                Else
                    PingStatus = True
                End If      
            Next    
            wscript.sleep 200
            If i = 4 Then Exit Do
        Loop until PingStatus = True
        If PingStatus = True Then 
            IsOnLine = True
        Else
            IsOnLine = False
        End If
    End Function
    '***************************************************************************************

  4. #4
    Membre averti
    Femme Profil pro
    bordeaux
    Inscrit en
    Avril 2017
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : bordeaux
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2017
    Messages : 39
    Par défaut
    Vous êtes géniaux !! merci ! j'ai fais un poste juste avant sur windowstyle, vous n'auriez pas une piste ? merci encore

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

Discussions similaires

  1. Raccourci avec .bat
    Par JulLep dans le forum Windows
    Réponses: 15
    Dernier message: 06/06/2014, 20h44
  2. [Batch] transformer raccourcie en .bat
    Par vince2005 dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 25/10/2012, 22h57
  3. Réponses: 3
    Dernier message: 30/01/2009, 16h41
  4. Réponses: 2
    Dernier message: 30/06/2006, 09h07
  5. Probleme recuperation d'une valeur : script vbs -> .bat
    Par pinpin_du_net dans le forum Windows
    Réponses: 3
    Dernier message: 10/05/2005, 12h43

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