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 :

Cherche a remplacer SendKey


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 46
    Par défaut Cherche a remplacer SendKey
    Bonjour

    Je cherche à cacher les commandes qu'exécute mon .vbs.
    Je suis un débutant mais j'ai déjà créer quelque petit script.

    Voila mon script :
    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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
     
    'Initialisation des variables
    Dim shell, args, params, fso, fa,fs
     
    'Initialisation du shell
    Set shell = WScript.CreateObject("WScript.Shell") 
    Set fso = WScript.CreateObject("Scripting.FileSystemObject") 
    Set args = Wscript.Arguments 
    Script=Lcase(Wscript.ScriptFullName) 
    set fs=fso.GetFile(Script) 
    sps=lcase(fs.ShortPath) 
    'Connection telnet
    shell.Run "telnet 10.0.32.43",9
    'Attente pendant que la connexion se fait
    WScript.Sleep 2000
    'Entrer du login + enter
    shell.Sendkeys "login" & vbCr
    WScript.Sleep 500
    'Entrer mot de pass + enter
    shell.Sendkeys "pass" & vbCr
    WScript.Sleep 500
    'Entrer mode super-utilisateur
    shell.Sendkeys "su -" & vbCr
    WScript.Sleep 500
    'Entrer mot de pass super-utilisateur
    shell.Sendkeys "passadmin" & vbCr
    WScript.Sleep 500
    'Fenetre qui demande le numéro de la radio
    reponse1=inputBox("Entrer le numéro de la radio","Radio")
    'Boucle if qui récupère soit le numéro de la radio, soit rien
    If reponse1="" Then
    'Message d'erreur si sélection du bouton cancel du message précédent
    MsgBox "Fin de programme !",vbCritical,"Erreur"
    Else
    If Not IsNumeric(reponse1)=True Then
    'Message d'erreur si sélection du bouton cancel du message précédent
    MsgBox "Numéro incorrect !",vbCritical,"Erreur"
    Else
    'Affiche les processus de la radio + enter - ligne non obligatoire
    shell.Sendkeys "ps -fe | grep 'radio" & reponse1 & " '" & vbCr
    WScript.Sleep 5000
    'Stock dans une variable le ou les pids du processus à killer + enter
    shell.Sendkeys "pid=${(}ps -fe | grep 'radio" & reponse1 & " ' | grep bash | cut -c 17-21 {)}" & vbCr
    WScript.Sleep 5000
    'Affiche le ou les pids à killer + enter - ligne non obligatoire
    shell.Sendkeys "echo $pid"& vbCr
    WScript.Sleep 500
    reponse2=MsgBox("Voulez-vous continuer ??",vbQuestion+vbYesNo,"Radio")
    If reponse2=7 Then
    MsgBox "Fin de programme !",vbCritical,"Erreur"
    Else
    'Kill le ou les pids stock dans la variable + enter
    shell.Sendkeys "kill -9 $pid"& vbCr
    WScript.Sleep 500
    End If
    'Message de fin programme
    MsgBox "Programme terminé !! ",,"Fin Radio"
    End If
    End If
    WScript.Sleep 500
    'Sortir mode super-utilisateur
    shell.Sendkeys "exit" & vbCr
    WScript.Sleep 800
    'Sortir login et connection telnet
    shell.Sendkeys "exit" & vbCr
    WScript.Sleep 500
    'Fermeture du programme
    shell.Sendkeys vbCr
    En fait si j'exécute mon script et qu'au même moment je suis en train d'écrire du text, ben à cause des SendKey, mes commandes apparaissent dans mon text et donc ne s'exécute pas dans ma fenètre DOS.

    Est-ce que quelqu'un a une idée ou une autre solution, je suis ouvert à toute possibilité ??

    Merci d'avance pour vos réponses !!!

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    mettre tes commandes dans un script batch que tu execute en vbs ?

  3. #3
    Membre averti
    Inscrit en
    Avril 2009
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 46
    Par défaut
    Citation Envoyé par ced600 Voir le message
    mettre tes commandes dans un script batch que tu execute en vbs ?
    Merci pour ta réponse !

    J'y avais aussi pensé mais je vois pas comment tu peux exécuter des commandes Linux via une connection Telnet sous un Batch qui est sur Windows.

    Mais si tu en parle, sa veut surement dire que tu as fait quelque chose de similaire.
    Est-ce que tu pourrais un petit peu développpez (^^) Merci

  4. #4
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Non je n'ai rien fait de similaire.
    Je n'ai jamais travaillé avec telnet.
    Je me disais juste qu'après la première commande telnet dans un script, le script reprend la main et exécute les commandes dans l'invite telnet.
    Je dirais que cela ne coute pas grand chose d'essayer.
    Après je n'ai pas vraiment d'idée.
    Peut être que telnet lui même accepte des arguments tel qu'un fichier qui contiendrait des commandes telnet.
    Si c'est le cas, tu pourrais alors lancer telnet avec la methode run de WSH et mettre tes commandes dans un fichier.

Discussions similaires

  1. [MySQL] Cherche et remplace 66ffcc par 333333
    Par Akim13 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 16/02/2009, 17h40
  2. Cherche et Remplace : opération sur le remplace ?
    Par Sxilderik dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 16/10/2007, 12h45

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