visual varios tag studio ejecutar desde como comandos administrador abrir windows command-line vb6

varios - ¿Cómo llamo a un comando de shell de Windows usando VB6?



ejecutar varios comandos cmd desde c# (6)

¿Cómo puedo utilizar VB6 exactamente? ¿Puedo llamar a cualquier comando de shell de Windows como lo haría desde la línea de comandos?

Por ejemplo, algo tan trivial como:

echo foo



una combinación de todos

Shell Environ("COMSPEC") & " /c echo foo", vbNormalFocus

Debería pensar en expandir la variable de entorno COMSPEC si desea soportar sistemas anteriores como Windows 9x o yo.

También puede obtener la identificación del proceso usando

pid = Shell(Environ("COMSPEC") & " /c echo foo", vbNormalFocus)


Así es como lo haces:

Shell "cmd echo foo", vbNormalFocus


Shell "cmd /c echo foo"


Siempre utilicé el método Run del objeto wshShell, que está disponible después de hacer referencia al modelo de objetos de Windows Script Host en su proyecto:

Dim shell As wshShell Dim lngReturnCode As Long Dim strShellCommand As String Set shell = New wshShell strShellCommand = "C:/Program Files/My Company/MyProg.exe " & _ "-Ffoption -Ggoption" lngReturnCode = shell.Run(strShellCommand, vbNormalFocus, vbTrue)

Obtiene la misma funcionalidad que la declaración de Shell normal, pero el parámetro final le permite decidir si ejecutar el programa sin shell de forma sincrónica. La llamada anterior, con vbTrue, es sincrónica. El uso de vbFalse inicia el programa de forma asincrónica.

Y, como se señaló en las respuestas anteriores, debe ejecutar el shell de comandos con el interruptor "/ c" para ejecutar comandos internos, como el "echo foo" de su pregunta. Enviarías "cmd / c echo foo" al método Run.


Solo use comillas dobles: ""...""

Ejemplo: envíe un pase de confirmación para realizar una tarea:

shell (""echo pass|schtasks /create /TR "C:/folder/.../program.exe" /more_parameters"")

porque los primeros " están cerrados "C:/... y la cadena se detendría.

Ahora explico en Español
Solo usa doble comillas: ""...""

Ejemplo - mando un pase para confirmar la creación de la tarea:

shell (""echo pass|schtasks /create /TR "C:/folder/.../program.exe" /more_parameters"")

la causa es que la primera comillas " se cierra con las comillas de la ruta "C:/... y se pierde la cadena Cadena.

:) Espero sirva y buena suerte