Creamos un archivo con extensión .VBS, lo podemos crear con el Bloc de Notas.
En el ejemplo siguiente ejecutará el "Símbolo de Sistema"
Set WshShell = WScript.CreateObject("WScript.Shell")
Return = WshShell.Run("cmd.exe", 1, true)
Donde:
cmd.exe –> Es la aplicación que se va a ejecutar.
1 –> Indica que la ventana se abrirá normal, 2 indicaría minimizada y 3 maximizada
true –> Indica que se esperará a que se cierre la aplicación para continuar ejecutando el código, si no queremos que se espere pondremos false.
Muchas gracias.
A veces hay cosas que parecen elementales y no sabemos hacer.
Gracias a gente como ustedes, podemos mejorar un poco el mundo.
FVB
no em anduvo ¬¬
muy buena, gracias.. Ahora a joder a los otros!
El programa:
Set WshShell = WScript.CreateObject("WScript.Shell")
Return = WshShell.Run("cmd.exe", 1, true)
funciona correctamente pero cuando intento ejecutar otro programa,p.ej:
"C:Archivos de programaAdobeAdobe Photoshop Lightroom 3.6lightroom.exe" substituyendolo por "cmd.exe" el script dice que no encuentra el programa, (el camino está pegado de un shorcut que funciona.
Por favor podeis decirme donde está el error/truco?
Muy gradecido de antemano
el problema está en que la ruta del archivo contiene espacios, esto se soluciona poniendo dos dobles comillas mas las dobles comillas que hay que poner por defecto, tu ejemplo quedaría así:
Set WshShell = WScript.CreateObject("WScript.Shell")
Return = WshShell.Run("""C:Archivos de programaAdobeAdobe Photoshop Lightroom 3.6lightroom.exe""", 1, true)
Gracias por la pronta respuesta, sin embargo, no funciona. Al poner las dobles comillas como indicas, el debugger pide el cierre del paréntesis tras el segundo par de comillas.
He probado comillas simples, y tampoco. ¿alguna otra sugerencia?
Saludos
Jaime
eso es porque te faltan algunas comillas, delante o detras del comando, no obstante te adjunto otra sugerencia mas:
Set WshShell = WScript.CreateObject("WScript.Shell")
Return = WshShell.Run("cmd /c start """" ""C:Archivos de programaAdobeAdobe Photoshop Lightroom 3.6lightroom.exe""", 0, true)
Si, así funciona.
Creo que el problema esta en que el run de Wsh solo acepta paths en dos short format, en cambio el cmd acepta paths normales.
Creo recordar que alguno de los objetos de Wsh incorpora una funcion para trasformar cualquier camino a formato Dos. Lo investigaré y si lo encuentro te lo haré saber.
Si lo encuentras tu antes agradeceré me lo indiques.
Gracias por todo
Jaime
a mi no se me abría y le coloqué directamente el nombre de la aplicción, por ejemplo era
-("C:/Archivos de Programa/Google/Chrome/Application/chrome.exe", 1, true)
le puse
-("crome.exe", 1, true)
Y funcionó
Bien ahí, así también me funciono.
Sub firefox1()
Set objShell = CreateObject("Wscript.Shell")
objShell.Run "cmd /c start firefox.exe"
End Sub
a mi no se me abría y le coloqué directamente el nombre de la aplicción, por ejemplo era
-("C:/Archivos de Programa/Google/Chrome/Application/chrome.exe", 1, true)
le puse
-("crome.exe", 1, true)
Y funcionó
Hola me llamo jaime, tengo un pequeño problema, resulta que donde trabajo, el ing me dijo que se puede ejecutar el superdat de la version del McAfee pormedio de los usuarios del directorio activo, para que cuando los usuarios inicien sesion se actualize la version.
Como puedo colocar e.g al abrir la aplicacion que abra una URL con firefox?
Set WshShell = WScript.CreateObject("WScript.Shell")
Return = WshShell.Run("firefox.exe ‑https://www.mozilla.org", 1, false)
puse este codigo y no funciono.
Le agradeceria que alguien me ayude
Buen Día Miguel
Si es posible, ayúdanos
Logramos abrir cmd.exe
Pero si quisiéramos, enviar 2 instrucciones mas , para que se ejecuten en esa pantalla emergente ¿Cómo podemos hacer?
Para ser mas específicos , hacemos Telnet, pero como puedo enviarle el login y password
De antemano, Gracias
Hola Douglas,
si lo que quieres ejecutar 2 programas en una misma linea de comandos en msdos, prueba algo asi:
cmd /c notepad.exe && calc.exe
con este ejemplo primero te abrirá el bloc de notas y luego la calculadora
si lo que quieres es enviar texto para la ejecucion de un comando, prueba algo asi:
cmd /c echo open 127.0.0.1 | http://ftp.exe
este metodo no siempre funciona
Un saludo.
¿Como puedo hacer para que se ejecute a pantalla completa?
sustituye la linea:
Return = WshShell.Run("cmd.exe", 1, true)
por:
Return = WshShell.Run("start /max cmd.exe", 1, true)
buenas y si quiero abrir un excel con "runas" donde ya tenga en variables usuario y contraseña?
Echa un vistazo a este enlace: http://www.miguelenred.es/comando-para-ejecutar-como-otro-usuario/
Amigos necesito generar una aplicacion VBS que me permita ejecutar un comando CMD pero que la aplicacion me pida en un campo de texto un valor, este valor lo integre al comando y ejecute el mismo desde CMD. no he encontrado la combinacion de codigo correcta
El comando que debo ejecutar es :
"C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\bin\i386\CmRcViewer.exe" XXXX.dominio.corp \\servidor1 servidor2.com
donde XXX es el valor que tendria que ingresar por medio de un textbox en el VBS y que ese comando armado se ejecute en CMD
para generar un Command Prompt en VBS puedes utilizar la funcion InputBox.