Pregunta

Estoy usando VBScript, y mi objetivo es poder sustituir una carta de unidad por una ruta de mi elección. Necesito la unidad D, y si no está disponible, necesito verificar si ya está asignado al lugar correcto; Luego notifique al usuario si no lo es. Encontré esto: http://technet.microsoft.com/en-us/library/ee156605.aspx Y estoy tratando de adaptar su segundo ejemplo:

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

(mis adaptaciones):

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

Entonces probablemente buscaré la cadena que diga dónde se asigna la unidad D. También he probado objShell.Exec("subst"), pero todavía no obtengo ninguna salida. ¿Alguien tiene alguna idea sobre lo que podría estar haciendo mal? ¿O hay una mejor manera de contar sobre las asignaciones de transmisión? Gracias,

213897

¿Fue útil?

Solución

Tu script no funciona porque has mordido el nombre del comando, es subst, no substr.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top