3 votes

Comment forcer vbs script à s'exécuter dans l'hôte cscript

Comment puis-je forcer le vbs script à s'exécuter dans l'hôte cscript par opposition à l'hôte WScript ?

Comment puis-je déterminer de manière fiable si vbs est exécuté à partir de l'invite de commande dans XP/Vista/7 ?

De plus, si elle ne s'exécute pas depuis l'invite de commande, comment faire pour que le script se lance dans l'invite de commande ?

Je cherche un court extrait.

3voto

Anders Points 34448

Il n'y a pas de propriété ou autre chose de ce genre que vous puissiez définir, et vous vous retrouvez donc avec de vilains bidouillages comme celui-ci :

Function ForceCScript()
On Error Resume Next
WScript.StdErr.Write(Chr(7))
If Err.Number <> 0 Then
    Err.Clear
    On Error GoTo 0
    set WshSh=WScript.CreateObject("WScript.Shell")
    sh=WshSh.ExpandEnvironmentStrings("%COMSPEC%")
    If InStr(sh,"%") = 1 Then sh="cmd.exe"
    WshSh.Run(sh&" /K cscript /nologo """&WScript.ScriptFullName&"""")
    WScript.Quit()
End If
End Function

call ForceCScript()

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X