Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 2
Aller à la page: 1, 2  >
aide création .bat pour lancement vbs
Auteur Message
Répondre en citant
Message aide création .bat pour lancement vbs 
Bonjour,

je dois créer un bat qui lance un vbs pour la désinstallation d'une appli et l'installation d'une autre à la place.

j'ai fait des premiers tests mais ma ligne de commande ne passe pas.


Voici la ligne de code que j'ai tenté mais qui ne donne rien : cscript.exe //nologo %systemdrive%\fusion\install.vbs

Pouvez vous m'aider sachant que lorsque je lance le vbs à la main, il se lance sans problème.

cordialement

Breizh60



Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message aide création .bat pour lancement vbs 
Salut,
si tu veux le lancer,
Code:

start "%systemdrive%\fusion\install.vbs"

Avec les "" car si il y a des espaces ça marchera pas.




______________________________________________________
Cordialement,
Hugo, qui adore programmer, jouer à Minecraft, ZT2 et FSX.
Boutons-liens :
Visiter le site web du posteur Skype
Répondre en citant
Message aide création .bat pour lancement vbs 
Merci pour la réponse, Okay

je vais tester cela,

mais j'aimerai connaitre la différence entre cscript vscript et le start que tu me proposes.

pour les " " normalement il n'y a pas de parenthèses mais ça ne coute rien de les mettre.



Répondre en citant
Message aide création .bat pour lancement vbs 
Bonjour,

SI c'est un .vbs, utilise ça:

Code:


:: Configuration
Set MyVBSFile=%tmp%\%~n0.vbs

:: Création du .vbs
(
echo. TA COMMANDE VBS
echo. TA COMMANDE VBS
echo. TA COMMANDE VBS
echo. TA COMMANDE VBS
echo. etc...
) > "MyVBSFile"

:: Start du vbs
Start /wait %MyVBSFile%

:: Suppression du VBS
Del %MyVBSFile%

:: Suite, de ton code...


Tout ça en .bat (BATCH-FILE)

Voilà, tiens moi au courant Okay




______________________________________________________
Une question ? N'hésitez pas à me contacter par Message Privé ou via le topique concerné.
Visiter le site web du posteur
Répondre en citant
Message aide création .bat pour lancement vbs 
En gros tu 'transfert' ton VBS dans un batch, ça permet de faire moins de fichiers Smile
Après si tu veux exécuter ton programme dans un autre dossier, t'as deux options:
- Raccourcis
- Faire un autre batch avec ça

Code:

Start "TonChemin\TonFichier.bat"





______________________________________________________
Une question ? N'hésitez pas à me contacter par Message Privé ou via le topique concerné.
Visiter le site web du posteur
Répondre en citant
Message aide création .bat pour lancement vbs 
Cscript:
Citation:

Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. Tous droits réservés.

Utilisation : CScript scriptname.extension [option...] [arguments...]

Options :
//B Mode batch : Supprime l'affichage des invites et des erreurs de scripts
//D Activer le débogage
//E:engine Utiliser le moteur pour l'exécution de script
//H:CScript Remplace l'environnement d'exécution de scripts par défaut par CScript.exe
//H:WScript Remplace l'environnement d'exécution de scripts par défaut par WScript.exe (default)
//I Mode interactif (par défaut, contraire de l'option //B)
//Job:xxxx Exécuter une tâche WSF
//Logo Afficher un logo (default)
//Nologo Empêcher l'affichage d'un logo : Aucune bannière ne s'affiche pendant la durée d'exécution
//S Enregistrer les options de ligne de commande actuelles pour cet utilisateur
//T:nn Durée d'exécution en secondes : Temps maximal autorisé pour l'exécution d'un script
//X Exécuter un script dans le débogueur
//U Utiliser Unicode pour les E/S de la console redirigées


Start:
Ça lance un script comme si tu cliquais dessus.




______________________________________________________
Cordialement,
Hugo, qui adore programmer, jouer à Minecraft, ZT2 et FSX.
Boutons-liens :
Visiter le site web du posteur Skype
Répondre en citant
Message aide création .bat pour lancement vbs 
Bonjour,

j'ai fait le test aujourd'hui sans résultat avec la commande start "%systemdrive%\fusion\install.vbs"

alors que sur mon PC perso la commande start fonctionne mais avec un autre vbs.

est il possible que selon le vbs le lancement fonctionne ou pas ?

merci



Répondre en citant
Message aide création .bat pour lancement vbs 
petite précision,


la commande ne fonctionne ni dans une fenêtre cmd ni lancée par un bat Sad



Répondre en citant
Message aide création .bat pour lancement vbs 
Bonjour

si tu es sous win 7 / win 8 / vista essaie en faisant un clic droit et choisir executer en tant qu administrateur




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message aide création .bat pour lancement vbs 
Salut Wink
Pouvez vous nous poster le vbscript install.vbs en question ?
Merci !




______________________________________________________
Mes Contributions en Téléchargement
Répondre en citant
Message aide création .bat pour lancement vbs 
Hackoo a écrit:
Salut Wink
Pouvez vous nous poster le vbscript install.vbs en question ?
Merci !


bonjour,



le voici (avec mes excuses pour le délai mais le temps manque parfois ...)

Code:

Option Explicit
Dim versionverification, fusionarguments, uninstallocsagent, fusionsetupURL
''''' USER SETTINGS '''''
versionverification = "2.2.7-4"
fusionarguments = "/S /debug /tag=xxxxxxxxx /server=http://xxxxxxxxxxxxxxxxxxx/plugins/fusioninventory/ /rpc-trust-localhost /runnow"
' Depending on your needs, you can use either HTTP or Windows share
fusionsetupURL = "fusioninventory-agent_windows-i386_" & versionverification & ".exe"
'fusionsetupURL = "http://prebuilt.fusioninventory.org/stable/windows-i386/fusioninventory-agent_windows-i386_" & versionverification & ".exe"
uninstallocsagent = "yes"
''''' DO NOT EDIT BELOW '''''
Function baseName (strng)
  Dim regEx, ret
  Set regEx = New RegExp
  regEx.Global = true
  regEx.IgnoreCase = True
  regEx.Pattern = ".*[/\\]([^/\\]+)$"
  baseName = regEx.Replace(strng,"$1")
End Function

Function isHttp (strng)
  Dim regEx, matches
  Set regEx = New RegExp
  regEx.Global = true
  regEx.IgnoreCase = True
  regEx.Pattern = "^(http(s?)).*"
  If regEx.Execute(strng).count > 0 Then
    isHttp = True
  Else
    isHttp = False
  End If
  Exit Function
End Function

' http://www.ericphelps.com/scripting/samples/wget/index.html
Function SaveWebBinary(strUrl) 'As Boolean
Const adTypeBinary = 1
Const adSaveCreateOverWrite = 2
Const ForWriting = 2
Dim web, varByteArray, strData, strBuffer, lngCounter, ado
'    On Error Resume Next
    'Download the file with any available object
    Err.Clear
    Set web = Nothing
    Set web = CreateObject("WinHttp.WinHttpRequest.5.1")
    If web Is Nothing Then Set web = CreateObject("WinHttp.WinHttpRequest")
    If web Is Nothing Then Set web = CreateObject("MSXML2.ServerXMLHTTP")
    If web Is Nothing Then Set web = CreateObject("Microsoft.XMLHTTP")
    web.Open "GET", strURL, False
    web.Send
    If Err.Number <> 0 Then
        SaveWebBinary = False
        Set web = Nothing
        Exit Function
    End If
    If web.Status <> "200" Then
        SaveWebBinary = False
        Set web = Nothing
        Exit Function
    End If
    varByteArray = web.ResponseBody
    Set web = Nothing
    'Now save the file with any available method
    On Error Resume Next
    Set ado = Nothing
    Set ado = CreateObject("ADODB.Stream")
    If ado Is Nothing Then
        Set fs = CreateObject("Scripting.FileSystemObject")
        Set ts = fs.OpenTextFile(baseName(strUrl), ForWriting, True)
        strData = ""
        strBuffer = ""
        For lngCounter = 0 to UBound(varByteArray)
            ts.Write Chr(255 And Ascb(Midb(varByteArray,lngCounter + 1, 1)))
        Next
        ts.Close
    Else
        ado.Type = adTypeBinary
        ado.Open
        ado.Write varByteArray
        ado.SaveToFile CreateObject("WScript.Shell").ExpandEnvironmentStrings("%Temp%") & "\fusioninventory.exe", adSaveCreateOverWrite
        ado.Close
    End If
    SaveWebBinary = True
End Function

Function removeOCS()
    On error resume next

    Dim OCS
    ' Uninstall agent ocs if is installed
    ' Verification on OS 32 Bits
    On error resume next
    OCS = WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OCS Inventory Agent\UninstallString")
    If err.number = 0 then
        WshShell.Run "CMD.EXE /C net stop ""OCS INVENTORY SERVICE""",0,True
        WshShell.Run "CMD.EXE /C """ & OCS & """ /S /NOSPLASH",0,True
        WshShell.Run "CMD.EXE /C rmdir ""%ProgramFiles%\OCS Inventory Agent"" /S /Q",0,True
        WshShell.Run "CMD.EXE /C rmdir ""%SystemDrive%\ocs-ng"" /S /Q",0,True
        WshShell.Run "CMD.EXE /C sc delete ""OCS INVENTORY""",0,True
    End If

    ' Verification on OS 64 Bits
    On error resume next
    OCS = WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\OCS Inventory Agent\UninstallString")
    If err.number = 0 then
        WshShell.Run "CMD.EXE /C net stop ""OCS INVENTORY SERVICE""",0,True
        WshShell.Run "CMD.EXE /C """ & OCS & """ /S /NOSPLASH",0,True
        WshShell.Run "CMD.EXE /C rmdir ""%ProgramFiles(x86)%\OCS Inventory Agent"" /S /Q",0,True
        WshShell.Run "CMD.EXE /C rmdir ""%SystemDrive%\ocs-ng"" /S /Q",0,True
        WshShell.Run "CMD.EXE /C sc delete ""OCS INVENTORY""",0,True
    End If

    ' Verification Agent V2 on 32Bit
    On error resume next
    OCS = WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OCS Inventory NG Agent\UninstallString")
    If err.number = 0 then
        WshShell.Run "CMD.EXE /C net stop ""OCS INVENTORY SERVICE""",0,True
        WshShell.Run "CMD.EXE /C """ & OCS & """ /S /NOSPLASH",0,True
        WshShell.Run "CMD.EXE /C rmdir ""%ProgramFiles%\OCS Inventory Agent"" /S /Q",0,True
        WshShell.Run "CMD.EXE /C rmdir ""%SystemDrive%\ocs-ng"" /S /Q",0,True
        WshShell.Run "CMD.EXE /C sc delete ""OCS INVENTORY""",0,True
    End If

    ' Verification Agent V2 on 64Bit
    On error resume next
    OCS = WshShell.RegRead("HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\OCS Inventory NG Agent\UninstallString")
    If err.number = 0 then
        WshShell.Run "CMD.EXE /C net stop ""OCS INVENTORY SERVICE""",0,True
        WshShell.Run "CMD.EXE /C """ & OCS & """ /S /NOSPLASH",0,True
        WshShell.Run "CMD.EXE /C rmdir ""%ProgramFiles%\OCS Inventory Agent"" /S /Q",0,True
        WshShell.Run "CMD.EXE /C rmdir ""%SystemDrive%\ocs-ng"" /S /Q",0,True
        WshShell.Run "CMD.EXE /C sc delete ""OCS INVENTORY""",0,True
    End If

End Function

Function needFusionInstall ()
    Dim Fusion
    ' install fusion if version is different or if not installed
    needFusionInstall = False
    On error resume next
    Fusion = WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\FusionInventory Agent\DisplayVersion")
    If err.number = 0 Then
      ' Verification on OS 32 Bits
      If Fusion <> versionverification Then
          needFusionInstall = True
      Else
    needFusionInstall = False
        Return
      End If
    Else
      ' Verification on OS 64 Bits
      On error resume next
      Fusion = WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\FusionInventory Agent\DisplayVersion")
      If err.number = 0 Then
        If Fusion <> versionverification Then
          needFusionInstall = True
        End if
      Else
          needFusionInstall = True
      End If
    End If
End Function

''' MAIN
Dim WshShell
Set WshShell = Wscript.CreateObject("Wscript.shell")

If uninstallocsagent = "yes" Then
    removeOCS()
End If

If needFusionInstall() Then
    If (isHttp(fusionsetupURL)) Then
       SaveWebBinary(fusionsetupURL)
       WshShell.Run "CMD.EXE /C %TEMP%\fusioninventory.exe " & fusionarguments,0,True
    Else
        WshShell.Run "CMD.EXE /C """ & fusionsetupURL & """ " & fusionarguments,0,True
    End If
End If


merci pour l'aide éventuelle.



Répondre en citant
Message aide création .bat pour lancement vbs 
AlonsO7798 a écrit:
Bonjour,

SI c'est un .vbs, utilise ça:

Code:


:: Configuration
Set MyVBSFile=%tmp%\%~n0.vbs

:: Création du .vbs
(
echo. TA COMMANDE VBS
echo. TA COMMANDE VBS
echo. TA COMMANDE VBS
echo. TA COMMANDE VBS
echo. etc...
) > "MyVBSFile"

:: Start du vbs
Start /wait %MyVBSFile%

:: Suppression du VBS
Del %MyVBSFile%

:: Suite, de ton code...


Tout ça en .bat (BATCH-FILE)

Voilà, tiens moi au courant Okay


Tu as pris en compte de ce post ? Smile Essayes de prendre mon code, puis de glisser ton vbs à ce niveau:
Code:

(
echo. LIGNE1
echo. LIGNE2
echo. ...
) > "MyVBSFile"


Tu as juste à copier ton vbs en mettant "echo." avant chaque lignes, si je ne me trompes.

Tiens moi au courant Okay




______________________________________________________
Une question ? N'hésitez pas à me contacter par Message Privé ou via le topique concerné.
Visiter le site web du posteur
Répondre en citant
Message aide création .bat pour lancement vbs 
Non, pour les vbs trop longs, c'est nul de mettre echo devant chaque ligne, même en copier/coller!

Code:

for %%T in (

Colle
Ici
Le
Contenu
De
Ton
VBS
Sans le
Modifier

) do (
echo %%T >>Fichier.vbs
)


Avec moi ça marche




______________________________________________________
Cordialement,
Hugo, qui adore programmer, jouer à Minecraft, ZT2 et FSX.
Boutons-liens :
Visiter le site web du posteur Skype
Répondre en citant
Message aide création .bat pour lancement vbs 
Ah bah nice, je n'y avais pas pensé.




______________________________________________________
Une question ? N'hésitez pas à me contacter par Message Privé ou via le topique concerné.
Visiter le site web du posteur
Répondre en citant
Message aide création .bat pour lancement vbs 
Merci pour vos réponses,

je n'avais pas fait attention aux "echo" en début de chaque ligne donc ...
par contre j'ai 2 questions :

1 - la ligne
Code:
MyVBSFile=%tmp%\%~n0.vbs
crée un fichier dans le dossier tmp et c'est celui ci qui est lancé par la suite ?
il faudra donc que j'y mette aussi l'installeur qui est appelé par le vbs ?

2 - le code proposé avec "for %%T" suffit à lui même ou il faut juste le glisser après le
Code:
:: Configuration Set MyVBSFile=%tmp%\%~n0.vbs

:: Création du .vbs
du code précédent.

je n'ai pas accès aux pc concernés aujourd'hui, je ne pourrais faire des tests que lundi .

mais merci encore



Message aide création .bat pour lancement vbs 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 2
Aller à la page: 1, 2  >
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch