Título: [VBS] Problema al ejecutar un .EXE y crear su acceso directo
Publicado por: efer27 en 5 Mayo 2012, 15:56 pm
Hola a todos, tengo un problema que aun no me puedo aclarar debe ser algo simple pero no da mi cabeza para mas, estoy bloqueado. El problema que tengo es el siguiente. tengo un Script que realiza lo siguiente. instala un programa el ejecutable es un .exe una vez termine de ejecutar como no te hace una acceso directo, lo genero yo. pero el problema es que realiza la primera instruccion y a la misma vez la instruccion del acceso directo. pero como aun no termina la ejecucion del .exe no puede generar el acceso directo. solo me hace la primera parte. este es el script. alguien me puede dar alguna orientacion ******************************************************************** Option Explicit ' Declaracion de las variables Dim Wshshell, Command Dim objShell, objDesktop, objLink 'Variables Dim strAppPath, strWorkDir, strIconPath 'Variables ' ----------------------------------------------------------' ' Ejecuta el .EXE Set Wshshell = Wscript.createObject("WScript.Shell") Command = "mozilla.exe" ' Mozilla.exe es un ejemplo como puede ser cualquier .EXE WshShell.Run Command ' Ejecuta el comando ' Creación de Acceso Directo Aplicación ' -------------------------------------------------- strWorkDir ="z:\mozilla.exe" ' Directorio donde esta la aplicacion strAppPath = "d:\mozilla.exe" 'Ruta de la aplicación Set objShell = CreateObject("WScript.Shell") objDesktop = objShell.SpecialFolders("D:\Users\Public\Desktop") ' Acceso directo en el escritorio Set objLink = objShell.CreateShortcut(objDesktop & "\COP - Comptabilitat Organisme Pagador.lnk") ' Nombre del acceso directo ' --------------------------------------------------- 'Propiedades acceso ridercto objLink.Description = "mozilla" ' Comentario 'objLink.HotKey = "CTRL+SHIFT+X" ' Teclado de método abreviado objLink.TargetPath = strAppPath 'Ruta de la aplicación (Destino) objLink.WindowStyle = 3 objLink.WorkingDirectory = strWorkDir ' Directorio donde esta la aplicacion (Iniciar en) objLink.Save ' Guardar WScript.Quit ' Salir ********************************************************************
Saludos y espero alguna orientacion
Título: Re: Duda de Ejecución
Publicado por: Eleкtro en 5 Mayo 2012, 16:06 pm
@efer27: No eres un usuario nuevo, Y absolutamente todos los posts que has creado hasta ahora incumplen esta norma: Reglas del subforo:
Codigo debe de ir en su tag correspondiente [ code ][ / code ] PD: ¿Te las has leido?. Ya va siendo hora de que postees bien, Edita Arregla el mensaje o tendré que eliminarlo. Un saludo.
Título: Re: [VBS] Problema al ejecutar un .EXE y crear su acceso directo
Publicado por: Eleкtro en 5 Mayo 2012, 16:27 pm
Esto te puede servir, Añades la funcion de crear el acceso directo una vez haya terminado la espera del evento strComputer = "." Set oWMI = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") ''# Create an event query to be notified within 5 seconds when Firefox is closed Set colEvents = oWMI.ExecNotificationQuery _ ("SELECT * FROM __InstanceDeletionEvent WITHIN 5 " _ & "WHERE TargetInstance ISA 'Win32_Process' " _ & "AND TargetInstance.Name = 'firefox.exe'") ''# Wait until Firefox is closed Set oEvent = colEvents.NextEvent
Saludos
Título: Re: [VBS] Problema al ejecutar un .EXE y crear su acceso directo
Publicado por: efer27 en 5 Mayo 2012, 17:42 pm
Hola. disculpa pero me sale el siguiente error, no se si esta bien lo que puse ya que en vbscript no tengo tantas nociones. el error es el siguiente. .vbs(16, 1) Error de Microsoft VBScript en tiempo de ejecución: Variable no definida: 'strComputer' y el codigo es el siguiente. '******************************************************************** Option Explicit ' Declaracion de las variables Dim Wshshell, Command Dim objShell, objDesktop, objLink 'Variables Dim strAppPath, strWorkDir, strIconPath 'Variables Dim srtComputer ' ----------------------------------------------------------' ' Ejecuta el .EXE Set Wshshell = Wscript.createObject("WScript.Shell") Command = "pspad454inst_en.exe" ' Mozilla.exe es un ejemplo como puede ser cualquier .EXE WshShell.Run Command ' Ejecuta el comando strComputer = "." Set oWMI = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") ''# Create an event query to be notified within 5 seconds when Firefox is closed Set colEvents = oWMI.ExecNotificationQuery _ ("SELECT * FROM __InstanceDeletionEvent WITHIN 5 " _ & "WHERE TargetInstance ISA 'Win32_Process' " _ & "AND TargetInstance.Name = 'pspad454inst_en.exe'") ''# Wait until Firefox is closed Set oEvent = colEvents.NextEvent ' Creación de Acceso Directo Aplicación ' -------------------------------------------------- strWorkDir ="z:\mozilla.exe" ' Directorio donde esta la aplicacion strAppPath = "d:\mozilla.exe" 'Ruta de la aplicación Set objShell = CreateObject("WScript.Shell") objDesktop = objShell.SpecialFolders("D:\Users\Public\Desktop") ' Acceso directo en el escritorio Set objLink = objShell.CreateShortcut(objDesktop & "\COP - Comptabilitat Organisme Pagador.lnk") ' Nombre del acceso directo ' --------------------------------------------------- 'Propiedades acceso ridercto objLink.Description = "mozilla" ' Comentario 'objLink.HotKey = "CTRL+SHIFT+X" ' Teclado de método abreviado objLink.TargetPath = strAppPath 'Ruta de la aplicación (Destino) objLink.WindowStyle = 3 objLink.WorkingDirectory = strWorkDir ' Directorio donde esta la aplicacion (Iniciar en) objLink.Save ' Guardar WScript.Quit ' Salir '********************************************************************
saludos
Título: Re: [VBS] Problema al ejecutar un .EXE y crear su acceso directo
Publicado por: Eleкtro en 5 Mayo 2012, 17:51 pm
.vbs(16, 1) Error de Microsoft VBScript en tiempo de ejecución: Variable no definida: 'strComputer' y el codigo es el siguiente.
Borra esa variable y aparte prueba así: Set oWMI = GetObject("winmgmts:\\.\root\cimv2")
Saludos
Título: Re: [VBS] Problema al ejecutar un .EXE y crear su acceso directo
Publicado por: HdM en 5 Mayo 2012, 18:13 pm
Buenas.
El problema está en que declara la variable como:
Dim srtComputer
y luego es utilizada como
strComputer = "."
Es decir, dos variables diferentes.
Saludos.
Título: Re: [VBS] Problema al ejecutar un .EXE y crear su acceso directo
Publicado por: efer27 en 5 Mayo 2012, 18:25 pm
Graciassssssssss !!!!!!!!!!!!!!! ya solucione el problema.
una consulta referente a programacion. yo estoy comenzando con esto de VBSCRIPT y POwerShell pero no me aclaro mucho eh revisado los manuales publicados por este foro y estan muy bien pero aun no logro comprender muchas cosas.
tu me puedes orientar como puedo averiguar mas o si hay algun libro en español donde pueda aprovechar a sacarle todo el provecho.
saludos
Título: Re: [VBS] Problema al ejecutar un .EXE y crear su acceso directo
Publicado por: JohnConnor en 7 Mayo 2012, 06:18 am
No uses option explicit
|