Получение вывода командной строки в VBScript (без записи в файлы) - PullRequest
5 голосов
/ 22 марта 2011

Я использую VBScript, и моя цель - иметь возможность заменить букву диска на путь, который я выбрал.Мне нужен диск D, и если он недоступен, мне нужно проверить, сопоставлен ли он с нужным местом;затем уведомить пользователя, если это не так.Я нашел это: http://technet.microsoft.com/en-us/library/ee156605.aspx, и я пытаюсь адаптировать их второй пример:

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

(мои адаптации):

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

Тогда я, вероятно, буду искатьдля строки, которая говорит, где диск D отображается.Я также попытался objShell.Exec("subst"), но я все еще не получаю никакого вывода.У кого-нибудь есть идеи о том, что я могу делать неправильно?Или есть лучший способ рассказать о сопоставлении дисков?Спасибо,

213897

1 Ответ

4 голосов
/ 22 марта 2011

Ваш скрипт не работает, потому что вы неправильно набрали имя команды - это subst, а не substr.

...