Obtenir la sortie de ligne de commande dans VBScript (sans écrire dans les fichiers)
-
28-10-2019 - |
Question
J'utilise VBScript et mon objectif est de pouvoir remplacer une lettre de lecteur par le chemin de mon choix.J'ai besoin du lecteur D, et s'il n'est pas disponible, je dois vérifier s'il est déjà mappé au bon endroit;puis informez l'utilisateur si ce n'est pas le cas.J'ai trouvé ceci: http://technet.microsoft.com/en-us/library/ee156605.aspx et j'essaye d'adapter leur deuxième exemple:
Set objShell = WScript.CreateObject("WScript.Shell")
Set objExecObject = objShell.Exec("cmd /c ping -n 3 -w 1000 157.59.0.1")
Do While Not objExecObject.StdOut.AtEndOfStream
strText = objExecObject.StdOut.ReadLine()
If Instr(strText, "Reply") > 0 Then
Wscript.Echo "Reply received."
Exit Do
End If
Loop
(mes adaptations):
Set objShell = WScript.CreateObject("WScript.Shell")
Set objExecObject = objShell.Exec("cmd /c substr")
strText = ""
Do While Not objExecObject.StdOut.AtEndOfStream
strText = strText & objExecObject.StdOut.ReadLine()
Loop
Wscript.Echo strText
Ensuite, je chercherai probablement la chaîne qui indique où le lecteur D est mappé.J'ai également essayé objShell.Exec("subst")
, mais je n'obtiens toujours aucune sortie.Quelqu'un a-t-il des idées sur ce que je pourrais faire de mal?Ou y a-t-il une meilleure façon de parler des mappages de lecteurs?Merci,
213897
La solution
Votre script ne fonctionne pas car vous avez mal tapé le nom de la commande - c'est subst
, pas substr
.