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
@efer27:
No eres un usuario nuevo, Y absolutamente todos los posts que has creado hasta ahora incumplen esta norma:
Citar
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.
Esto te puede servir, Añades la funcion de crear el acceso directo una vez haya terminado la espera del evento
Cita de: http://stackoverflow.com/questions/3641163/wait-for-program-to-completestrComputer = "."
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
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
Cita de: efer27 en 5 Mayo 2012, 17:42 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
Buenas.
El problema está en que declara la variable como:
Dim srtComputer
y luego es utilizada como
strComputer = "."
Es decir, dos variables diferentes.
Saludos.
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
No uses option explicit