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

VB.NET Discussion :

Intégrer un script bat avec VB


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2013
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 42
    Points : 23
    Points
    23
    Par défaut Intégrer un script bat avec VB
    Bonjour,

    J'ai écris un petit script pour me faciliter l'installation d'imprimantes en .bat .
    Le voici :
    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
    echo off
     
    set /p ip=Adresse ip du copieur : 
    set /p pilote=Pilote PCL6 ou PS : 
    set /p nom=Nom de l'imprimante : 
     
     
     
    if %PROCESSOR_ARCHITECTURE% == x86 (goto :pilote_x86) else (goto :pilote_x64)
     
     
     
    :pilote_x64
    if %pilote% == PCL6 (goto :PCL6_64) else (goto :PS_64)
     
    :PCL6_64
    set chemin=GPD_64_PCL6\x2UNIVx.inf
    goto :script
     
    :PS_64
    set chemin=GPD_64_PS\x2UNIVP.inf
    goto :script
     
     
     
    :pilote_x86
    if %pilote% == PCL6 (goto :PCL6_32) else (goto :PS_32)
     
    :PCL6_32
    set chemin=GPD_32_PCL6\x2UNIVX.inf
    goto :script
     
    :PS_32
    set chemin=GPD_32_PS\x2UNIVP.inf
    goto :script
     
     
    :script
    cscript %windir%\system32\Printing_Admin_Scripts\fr-FR\prnport.vbs -a -r %ip% -h "%ip%" -o lpr -q lp -md
    rundll32.exe printui.dll,PrintUIEntry /if /b "%nom%" /f %chemin% /r %ip% /m "Xerox GPD %pilote% V3.6.433.6.0.0"
    goto :eof
    Je ne demande que 3 saisies : une adresse, un nom et le choix entre PCL6 et PS.

    Je voudrais rendre l'installation un peu plus convivial pour mes collègues et moi même, et donc je voudrais passer par une interface graphique et j'ai donc pensé à VB.

    Le problème est que je ne sais pas comment lier la partie graphique de VB (avec Windows Forms) et le script.
    Je parviens a créé une interface qui me conviens, mais je ne sais pas comment mettre en relation les infos que je demande via l'interface et leurs répercutions dans le script.

    Quelqu'un pourrait-il me mettre sur la voie?

    PS : j'utilise Visual Studio 2015.

    D'avance, merci.

  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
    PS : j'utilise Visual Studio 2015.
    Bonjour;
    La question devrait être posée dans le forum dédié VB.NET
    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
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    En entête de ton fichier bat tu écris %1 %2 %3 !

    Dans Vb.net tu appel ton fichier bat en lui fournissant les 3 paramètres en ligne de commande!

  4. #4
    Membre à l'essai
    Inscrit en
    Juillet 2013
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 42
    Points : 23
    Points
    23
    Par défaut
    Merci de t'intéresser à mon problème.
    Effectivement appeler le script en indiquant les variable derrière fonctionne bien quand j'essaie en le lançant avec un raccourci.
    Mais j'obtiens un message d'erreur lorsque j'essaie de lancer le script via vb.

    je le lance ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell("C:\Users\nicolas_m\Desktop\Instal_Xerox\Installation_Xerox.bat", "123")
    Le bat doit juste me retourne un echo avec 123 comme indiqué ( je n'ai pas encore essayé de récupérer mes saisies).
    Et voici le code erreur que j'ai :
    Une exception non gérée du type 'System.ArgumentException' s'est produite dans Microsoft.VisualBasic.dll

    Informations supplémentaires : L'argument 'Style' n'est pas une valeur valide.
    Je ne comprend pas.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par nicomani Voir le message
    Merci de t'intéresser à mon problème.
    Effectivement appeler le script en indiquant les variable derrière fonctionne bien quand j'essaie en le lançant avec un raccourci.
    Mais j'obtiens un message d'erreur lorsque j'essaie de lancer le script via vb.

    je le lance ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell("C:\Users\nicolas_m\Desktop\Instal_Xerox\Installation_Xerox.bat", "123")
    Le bat doit juste me retourne un echo avec 123 comme indiqué ( je n'ai pas encore essayé de récupérer mes saisies).
    Et voici le code erreur que j'ai :

    Je ne comprend pas.
    Bonjour,
    C'est n'importe quoi, c'est les 3 paramètres qu'eu tu veux récupérer %1 est une variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell("C:\Users\nicolas_m\Desktop\Instal_Xerox\Installation_Xerox.bat", "'Ip' 'PCL6' 'PS'")
    c'est pas toi qui as rédigé le script du .bat?

  6. #6
    Membre à l'essai
    Inscrit en
    Juillet 2013
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 42
    Points : 23
    Points
    23
    Par défaut
    Oui désolé je me suis mal exprimé, mon exemple était mauvais.
    Quand j'ai mis "123", j'aurais pu mettre "test" ou autre chose. C'était juste pour l'exemple.

    Au final, je suis passer par une autre méthode:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim StartInfo As New ProcessStartInfo("C:\Users\nicolas_m\Desktop\Instal_Xerox\Installation_Xerox.bat")
            StartInfo.Arguments = "192.168.8.8" & " " & "PCL6" & " " & "Test Xerox"
     
            Process.Start(StartInfo)
    Mais je vais tester aussi la tienne.

    Encore merci.

  7. #7
    Membre à l'essai
    Inscrit en
    Juillet 2013
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 42
    Points : 23
    Points
    23
    Par défaut
    Voilà mon programme est fonctionnel mais je rencontre encore un petit soucis.

    Dans mon script, j'ai une commande qui m'indique si l'ordinateur sur lequel je suis est du 64bit ou 32.
    Si je lance uniquement mon bat, la reconnaissance se fait bien. Mais si je passe avec mon exe, il reconnaît systématiquement mon système en 32Bit.
    Comment puis-je faire pour résoudre ce problème ?

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

Discussions similaires

  1. création d'un dossier .bat avec script
    Par willoweiss dans le forum Windows
    Réponses: 3
    Dernier message: 19/06/2015, 09h31
  2. [Débutant] Problème executer un fichier .bat avec ASP .net (script en vb)
    Par MidoKorg dans le forum ASP.NET
    Réponses: 1
    Dernier message: 30/09/2011, 17h45
  3. Réponses: 0
    Dernier message: 24/02/2009, 22h25
  4. Réponses: 3
    Dernier message: 29/01/2008, 14h28
  5. Génération de script SQL avec les données
    Par borgfabr dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 05/03/2004, 13h57

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