11
votes

J'ai besoin d'exécuter une ligne de commande dans un script Visual Basic

J'ai besoin d'exécuter la commande "Ver" dans mes VBS pour voir la version de mon système d'exploitation et je ne sais pas comment le faire.

J'ai essayé cela, mais ne fonctionne pas: < Pré> xxx


0 commentaires

3 Réponses :


13
votes

Essayez quelque chose comme ceci:

return = WshShell.Run("cmd /c ver > c:\temp\output.txt", 0, true)

Set fso  = CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile("c:\temp\output.txt", 1)
text = file.ReadAll
file.Close


2 commentaires

Ok Nice, ça marche, mais j'ai besoin du résultat dans un VaR, à utiliser dans un si, puis-je faire cela? Merci pour l'aide!


Merci mec! Ça marche! Une chose, le ";" n'en avez pas besoin. Belle aide et trop vite!



23
votes

Il existe un moyen de le faire sans avoir à écrire de la sortie dans un fichier.

Par exemple, supposons que vous souhaitiez capturer le texte d'une liste de répertoires. (Il y aurait beaucoup de meilleurs moyens de l'obtenir que cela, mais j'utilise simplement un exemple simple.) P>

avec la fonction ci-dessous dans votre VBScript, vous pouvez entrer: P>

'
' Capture the results of a command line execution and
' return them to the caller.
'
Function getCommandOutput(theCommand)

    Dim objShell, objCmdExec
    Set objShell = CreateObject("WScript.Shell")
    Set objCmdExec = objshell.exec(thecommand)
    getCommandOutput = objCmdExec.StdOut.ReadAll

end Function


0 commentaires

1
votes
Dim shell
Set shell= WScript.CreateObject ("WScript.shell")
shell.Exec"cmd /c ver"
Set shell= Nothing

0 commentaires