Ottenere l'output della riga di comando in VBScript (senza scrivere su file)
-
28-10-2019 - |
Domanda
Sto usando VBScript e il mio obiettivo è quello di essere in grado di sostituire una lettera di guida per un percorso di mia scelta. Ho bisogno dell'unità D e, se non è disponibile, devo verificare se è già mappato nel punto giusto; Quindi avvisare l'utente se non lo è. Ho trovato questo: http://technet.microsoft.com/en-us/library/ee156605.aspx E sto cercando di adattare il loro secondo esempio:
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
(i miei adattamenti):
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
Quindi probabilmente cercherò la stringa che dice dove è mappata l'unità D. Ho anche provato objShell.Exec("subst")
, ma ancora non ottengo alcun output. Qualcuno ha qualche idea su ciò che potrei fare di sbagliato? O esiste un modo migliore per raccontare mapping di guida? Grazie,
213897
Soluzione
Il tuo script non funziona perché hai sbalordito il nome del comando - è subst
, non substr
.