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

Scripts/Batch Discussion :

convertisseur bat -> vbs


Sujet :

Scripts/Batch

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut convertisseur bat -> vbs
    Bonjour,

    j'ai un petit souci avec un script en bat, celui-ci s’exécute mal sur les postes clients.
    Enfin il s’exécute de manière aléatoire sans raison vraiment apparente, il fonctionne avec un clic droit et exécuter en tant qu'administrateur, alors qu'avec une ouverture de session, les il me semblait que les scripte s’exécutaient déjà en tant qu'admin.....
    Je voudrais le mettre en vb pour voir si ça passerait mieux, mais je n'en n'ai pas les compétences.
    j’aimerais donc savoir si il existe un convertisseur qui prendrait le codage de fichier bat vers un vbs.

    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
    :CheckOS
    IF (%PROCESSOR_ARCHITECTURE%)==(AMD64) (GOTO 64-Bit) ELSE (GOTO 32-Bit)
    
    :64-Bit
    set reg_path=HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBC.INI\ODBC Data Sources
    set reg_key=toto
    set reg_type=REG_SZ
    set reg_value=SQL Server
    FOR /f "tokens=3" %%i IN ('reg query "%reg_path%" ^| find "%reg_key%"') DO FOR /f %%j IN ('echo "%%i" ^| find /c "%reg_value%"') DO (IF %%j == 0 (GOTO FILE))
    
    regedit /s "\\serveur\partage\toto64.reg"
    
    GOTO FILE
    
    :32-Bit
    set reg_path=HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources
    set reg_key=toto
    set reg_type=REG_SZ
    set reg_value=SQL Server
    FOR /f "tokens=3" %%i IN ('reg query "%reg_path%" ^| find "%reg_key%"') DO FOR /f %%j IN ('echo "%%i" ^| find /c "%reg_value%"') DO (IF %%j == 0 (GOTO FILE))
    
    regedit /s "\\serveur\partage\toto32.reg"
    
    GOTO FILE
    
    :FILE
    IF EXIST "C:\appli\toto.exe" (GOTO ICO) ELSE (GOTO 1)
    :1
    xcopy /e /s /v "\\serveur\partage\*.*" "c:\appl\*.*" /y
    
    :ICO
    
    IF EXIST "%USERPROFILE%\Bureau" (GOTO PRF1) ELSE (GOTO PRF2)
    :PRF1
    IF EXIST "%USERPROFILE%\Bureau\toto.lnk" GOTO END
    copy "\\serveur\partage\toto.lnk" "%USERPROFILE%\Bureau\"
    GOTO END
    
    :PRF2
    IF EXIST "%USERPROFILE%\Desktop\toto.lnk" GOTO END
    copy "\\serveur\partage\toto.lnk" "%USERPROFILE%\Desktop\"
    GOTO END
    
    :END
    EXIT /B
    Si quelqu'un connait l'astuce....

    :)

  2. #2
    Membre éclairé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Avril 2012
    Messages : 359
    Points : 738
    Points
    738
    Billets dans le blog
    2
    Par défaut
    Je ne connais pas de script/programme qui permette de passer du batch au vbs mais essaie le script suivant

    Code bat : 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
    @echo off
     
    set "reg_path=HKLM\SOFTWARE\Wow6432Node\ODBC\ODBC.INI\ODBC Data Sources"
    set "reg_key=toto"
    set "reg_type=REG_SZ"
    set "reg_value=SQL Server"
    for /f "skip=2 delims=" %%i in ('reg query "%reg_path%\%reg_key%" /v "%reg_value%"') do (
      if not "%%i"=="" (
        for /f "tokens=4" %%j in ("%%i") do (
    	  if "%%j"=="0" goto FILE
    	)
      )
    )
     
    if /i "%PROCESSOR_ARCHITECTURE%"=="AMD64" (
      regedit /s "\\serveur\partage\toto64.reg"
      goto FILE
    ) else if /i "%PROCESSOR_ARCHITECTURE%"=="X86" (
      regedit /s "\\serveur\partage\toto32.reg"
      goto FILE
    )
    echo Unknow Architecture.
    exit /b 1
     
    :FILE
    if exist "C:\appli\toto.exe" (goto ICO) else (goto 1)
    :1
    xcopy /e /s /v "\\serveur\partage\*.*" "c:\appl\*.*" /y
     
    :ICO
     
    if exist "%USERPROFILE%\Bureau" (goto PRF1) else (goto PRF2)
    :PRF1
    if exist "%USERPROFILE%\Bureau\toto.lnk" goto END
    copy "\\serveur\partage\toto.lnk" "%USERPROFILE%\Bureau\"
    goto END
     
    :PRF2
    if exist "%USERPROFILE%\Desktop\toto.lnk" goto END
    copy "\\serveur\partage\toto.lnk" "%USERPROFILE%\Desktop\"
    goto END
     
    :END
    exit /B

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Merci,

    Il ne comprends absolument pas la chaine de vérification des données dans le registre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    set reg_path="HKLM\SOFTWARE\Wow6432Node\ODBC\ODBC.INI\ODBC Data Sources"
    set reg_key="TEST"
    set reg_type="REG_SZ"
    set reg_value="SQL Server"
    for f "skip=2 delims=" %%i in ('reg query "%reg_path%\%reg_key%" /v "%reg_value%"') do ( if not "%%i"=="" ( for /f "tokens=4" %%j in ("%%i") do ( if "%%j"=="0" goto FILE )))
    Il attend quelque chose après le for f

    En fait, je voudrais rechercher une valeur dans la base de registre pour dire d'installer ou pas logiciel avec mise en place des raccourcis sur les bureaux (installer pour ce ligiciel consiste simplement à injecter le *.reg et une copie de fichier)

    CDT

  4. #4
    Membre éclairé Avatar de devilsnake88
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2013
    Messages
    453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2013
    Messages : 453
    Points : 809
    Points
    809
    Par défaut
    Normal tu as oublié le "/" avant le f...
    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f "skip=2 delims=" %%i in ('reg query "%reg_path%\%reg_key%" /v "%reg_value%"') do ( if not "%%i"=="" ( for /f "tokens=4" %%j in ("%%i") do ( if "%%j"=="0" goto FILE )))
    Si tu dois modifier le code qu'on te propose, modifie que ce qui est nécessaire...

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    en fait, avec le / il me renvois l'erreur suivante: "C:\test\test.vbs(5, 5) Erreur de compilation Microsoft VBScript: Identificateur attendu" :/
    et quand je laisse les guillemets juste après l'espace suivant le set et pas après le égale il me met une erreur dés la première ligne.

    set "reg_path=HKLM\SOFTWARE\Wow6432Node\ODBC\ODBC.INI\ODBC Data Sources" ( passe pas )
    set reg_path="HKLM\SOFTWARE\Wow6432Node\ODBC\ODBC.INI\ODBC Data Sources" ( ça passe... )

  6. #6
    Membre éclairé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Avril 2012
    Messages : 359
    Points : 738
    Points
    738
    Billets dans le blog
    2
    Par défaut
    Essaie comme ça

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for /f "usebackq skip=2 delims=" %%i in (`reg query "%reg_path%\%reg_key%" /v "%reg_value%"`) do (
      if not "%%i"=="" (
        for /f "tokens=4" %%j in ("%%i") do (
    	  if "%%j"=="0" goto FILE
    	)
      )
    )

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    BJR,

    En fait j'ai été un peu lent à comprendre, j’étais resté bloqué sur le fait de faire un vbs... les codes sont pour mettre dans le bat d'origine......

    mais mon code de base est fonctionnel ( pas tout le temps ) c'est pour ça que je voulais le convertir en VBS

    J'ai quand même testé par acquis de conscience vos codes, mais ils me renvois des message me disant que les clés n'ont pas été trouvé ( pourtant elles existes )

    Je vais resté avec mon code en dos pour l'instant

    CDT

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

Discussions similaires

  1. Batch .bat ou .vbs de full restoration (.bkp) d'une bdd
    Par Moostiq dans le forum Administration
    Réponses: 23
    Dernier message: 15/11/2010, 17h57
  2. [WS 2003] executer un script "bat" ou "vbs" sur tous les pc d'une UO
    Par devlopassion dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 23/03/2010, 14h39
  3. [conversion bat en vbs]
    Par duchmul dans le forum VBScript
    Réponses: 2
    Dernier message: 20/01/2010, 10h43
  4. fichier bat ou vbs
    Par PhilippeIEP dans le forum VBScript
    Réponses: 16
    Dernier message: 31/10/2008, 13h29
  5. Convertisseur bat en exe
    Par _SamSoft_ dans le forum Windows
    Réponses: 3
    Dernier message: 15/05/2007, 13h24

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