Acerca de los problemas de programación ASP
¡El objeto Wscript.Shell se presenta en detalle! !
Objeto WshShell
ProgID Wscript.Shell
Nombre de archivo WSHom.Ocx
CLSID F935DC22-1CF0-11d0-ADB9-00C04FD58A0B
IID F935DC21-1CF0-11d0-ADB9-00C04FD58A0B
La siguiente tabla describe las propiedades relacionadas con el objeto WshShell.
Descripción de la propiedad
Environment Devuelve el objeto de la colección WshEnvironment.
SpecialFolders Utilice el objeto WshSpecialFolders para proporcionar acceso a las carpetas del shell de Windows, como las carpetas del escritorio, las carpetas del menú Inicio y las carpetas de documentos personales.
La siguiente tabla describe los métodos relacionados con el objeto WshShell.
Descripción del método
CreateShortcut Crea y devuelve un objeto WshShortcut.
ExpandEnvironmentStrings expande la variable de entorno PROCESS y devuelve la cadena resultante.
La ventana emergente muestra una ventana de mensaje que contiene el mensaje especificado.
RegDelete elimina la clave o valor especificado del registro.
RegRead devuelve la clave o valor especificado del registro.
RegWrite establece la clave o valor especificado en el registro.
Ejecutar crea un nuevo proceso que ejecuta el comando especificado usando el estilo de ventana especificado.
WshShell.Environment
La propiedad Entorno devuelve un objeto WshEnvironment.
Sintaxis
WshShell.Environment ( [strType]) = objWshEnvironment
Comentarios
Si strType especifica la ubicación de la variable de entorno, los valores posibles son "Sistema", "Usuario", "Volatil" y "Proceso". Si no se proporciona strType, este método recupera variables de entorno del sistema en Windows NT o variables de entorno de proceso en Windows 95.
Para Windows 95, sólo se admite "Proceso" para el parámetro strType.
Las siguientes variables son proporcionadas por el sistema operativo Windows. Los scripts también pueden obtener variables de entorno establecidas por otras aplicaciones.
Nombre Descripción
NUMBER_OF_PROCESSORS La cantidad de procesadores que se ejecutan en la computadora.
PROCESSOR_ARCHITECTURE El tipo de procesador utilizado por la estación de trabajo del usuario.
PROCESSOR_IDENTIFIER El ID del procesador de la estación de trabajo del usuario.
PROCESSOR_LEVEL El nivel de procesador de la estación de trabajo del usuario.
PROCESSOR_REVISION La versión del procesador de la estación de trabajo del usuario.
OS El sistema operativo utilizado por la estación de trabajo del usuario.
COMSPEC El comando utilizado para ejecutar una ventana del símbolo del sistema (normalmente cmd.exe).
HOMEDRIVE La unidad local local (normalmente la unidad C).
HOMEPATH La ruta predeterminada del usuario (normalmente \users\default en Windows NT).
PATH variable de entorno de ruta.
PATHEXT La extensión del archivo ejecutable (normalmente .com, .exe, .bat o .cmd).
Símbolo del sistema PROMPT (normalmente $P$G).
SystemDRIVE La unidad local donde se encuentra el sistema (por ejemplo, c:\).
SystemROOT Directorio del sistema (por ejemplo, c:\winnt). Lo mismo que WINDIR.
Directorio del sistema WINDIR (por ejemplo, c:\winnt). Lo mismo que SYSTEMROOT.
TEMP El directorio donde se almacenan los archivos temporales (por ejemplo, c:\temp). Puede ser modificado por el usuario.
TMP Directorio donde se almacenan los archivos temporales (por ejemplo, c:\temp). Puede ser modificado por el usuario.
Ejemplo
'' Recuperar la variable de entorno del sistema NUMBER_OF_PROCESSORS
Establecer WshShell = Wscript.CreateObject("Wscript.Shell")
Establecer WshSysEnv = WshShell.Environment("SYSTEM")
Wscript.Echo WshSysEnv("NUMBER_OF_PROCESSORS")
Ver
objeto WshEnvironment
Objeto WshEnvironment
El objeto WshEnvironment no se proporciona directamente y se puede acceder a él mediante la propiedad WshShell.Environment.
ProgID N/A
Nombre de archivo WSHom.Ocx
CLSID
IID
La siguiente tabla describe las Propiedades asociadas con los objetos WshEnvironment.
Descripción de la propiedad
Elemento Obtiene o establece el valor de la variable de entorno especificada.
Recuento El número de elementos de enumeración.
longitud El número de elementos de enumeración (JScript).
La siguiente tabla describe los métodos asociados con el objeto WshEnvironment.
Descripción del método
Eliminar Elimina la variable de entorno especificada.
WshShell.SpecialFolders
La propiedad SpecialFolders proporciona el objeto WshSpecialFolders para acceder a las carpetas del shell de Windows, como la carpeta Escritorio, la carpeta del menú Inicio y la carpeta Documentos personales.
Sintaxis
WshShell.SpecialFolders = objWshSpecialFolders
Ejemplo
'' Este fragmento de código muestra cómo acceder a la carpeta del escritorio
Establecer WshShell = Wscript.CreateObject("Wscript.Shell")
MsgBox "Su escritorio es " & WshShell.SpecialFolders("Desktop")
Ver
Objeto WshSpecialFolders
Objeto WshSpecialFolders
Este objeto no se proporciona directamente. Para obtener un objeto WshSpecialFolders, utilice la propiedad WshShell.SpecialFolders.
ProgID N/A
Nombre de archivo WSHom.Ocx
CLSID
IID
La siguiente tabla describe las Propiedades asociadas con los objetos WshSpecialFolders.
Propiedad Descripción
Elemento Especifica la ruta completa a la carpeta (predeterminada).
Recuento El número de elementos de enumeración.
longitud El número de elementos de enumeración (JScript).
WshSpecialFolders.Item
La propiedad Item devuelve la ruta completa a la carpeta especificada por strFolderName. Es la propiedad predeterminada.
Sintaxis
WshShell.SpecialFolders.Item("strFolderName") = strFolderPath
WshShell.SpecialFolders("strFolderName") = strFolderPath
Notas
Si la carpeta solicitada (strFolderName) no está disponible, WshShell.SpecialFolders("strFolderName") devuelve NULL. Por ejemplo, Windows 95 no tiene la carpeta AllUsersDesktop, por lo que si strFolderName = AllUsersDesktop, se devuelve NULL.
Los sistemas operativos Windows 95 y Windows NT 4.0 proporcionan las siguientes carpetas designadas:
AllUsersDesktop
AllUsersStartMenu
AllUsersPrograms
AllUsersStartup
Escritorio
Favoritos
Fuentes
MisDocumentos
NetHood
PrintHood
Programas
Recientes
SendTo
InicioMenú
Inicio
Plantillas
Ejemplo
'' Este fragmento devuelve la ruta completa a la carpeta del Escritorio de Windows
Set WshShell = Wscript.CreateObject("Wscript.Shell")
StrMyDesktop = WshShell.SpecialFolders("Desktop")
'' Listar todas las carpetas especiales
Para cada strFolder en WshShell.SpecialFolders
MsgBox strFolder
Siguiente
Ver
Propiedad WshShell.SpecialFolders
WshShell.CreateShortcut
El método CreateShortcut crea un objeto WshShortcut y devolverlo. Si el título del acceso directo termina en .url, se crea un objeto WshURLShortcut.
Sintaxis
WshShell.CreateShortcut(strPathname) = objShortcut
Ejemplo
'' Este fragmento de código crea un acceso directo
'' al script que se está ejecutando actualmente
Set WshShell = Wscript.CreateObject("Wscript.Shell")
Set oShellLink = WshShell.CreateShortcut("Current Script.lnk" )
oShellLink.TargetPath = Wscript.ScriptFullName
oShellLink.Save
Establecer oUrlLink = WshShell.CreateShortcut("Microsoft Web Site.URL")
oUrlLink.TargetPath = ""
oUrlLink.Save
Ver
Objeto WshShortcut, objeto WshUrlShortcut
Objeto WshShortcut
Este objeto no se proporciona directamente. Para obtener un objeto WshShortcut, utilice el método WshShell.CreateShortcut.
ProgID N/A
Nombre del archivo WSHom.Ocx
CLSID F935DC28-1CF0-11d0-ADB9-00C04FD58A0B
IID F935DC27- 1CF0-11d0-ADB9-00C04FD58A0B
La siguiente tabla describe las propiedades relacionadas con el objeto WshShortcut.
Descripción de la propiedad
Argumentos Los parámetros del objeto de acceso directo.
Descripción Descripción del objeto de acceso directo.
Tecla de acceso rápido La tecla de acceso rápido del objeto de acceso directo.
IconLocation La ubicación del icono del objeto de acceso directo.
TargetPath La ruta de destino del objeto de acceso directo.
WindowStyle El estilo de ventana del objeto de acceso directo.
WorkingDirectory El directorio de trabajo del objeto de acceso directo.
La siguiente tabla describe los métodos relacionados con el objeto WshShortcut.
Descripción del método
Guardar Almacena el acceso directo al sistema de archivos especificado.
WshShortcut.Arguments
La propiedad Argumentos proporciona los parámetros del objeto de acceso directo.
Sintaxis
WshShortcut.Arguments = strArguments
WshShortcut.Description
La propiedad Descripción proporciona una descripción del objeto de acceso directo.
Sintaxis
WshShortcut.Description = strDescription
WshShortcut.Hotkey
La propiedad HotKey proporciona la tecla de acceso rápido para el objeto de acceso directo. Las teclas de acceso rápido son atajos de teclado que inician o cambian de programa.
Sintaxis
WshShortcut.HotKey = strHotKey
Comentarios
La sintaxis BNF de strHotKey es la siguiente:
Tecla de acceso rápido: := modificador* nombre clave
modificador ::= "ALT " | "CTRL " | "SHIFT " | "EXT "
nombre clave ::= "A" .. "Z"
"0".. "9" |
"Volver" | "Tab" | "Borrar" | "Escape" | "Espacio" | "Anterior" |...
Los nombres de todas las claves se pueden encontrar en WINUSER.H. Las teclas de acceso rápido no distinguen entre mayúsculas y minúsculas.
Las teclas de acceso rápido solo pueden activar accesos directos ubicados en el escritorio de Windows o en el menú Inicio de Windows.
El Explorador de Windows no acepta ESC, ENTER, TAB, ESPACIO, IMPRIMIR PANTALLA o RETROCESO, aunque WshShortcut.Hotkey sigue la API de Win32 para admitirlos. Por lo tanto, se recomienda no utilizar estas teclas en atajos.
Ejemplo
Establecer WshShell = Wscript.CreateObject("Wscript.WshShell")
strDesktop = WshShell.SpecialFolders("Desktop")
Establecer oMyShortcut = WshShell.CreateShortcut(strDesktop amp; "\a_key.lnk")
OMyShortcut.TargetPath = "windir\notepad.exe"
oMyShortCut.Hotkey = "ALT CTRL F"
oMyShortCut.Save
Wscript.Echo oMyShortCut.HotKey = "Alt Ctrl F"
Ver
Objeto WshSpecialFolders
WshShortcut.IconLocation
La propiedad IconLocation proporciona la ubicación del icono del objeto de acceso directo. El formato de la posición del icono debe ser "Ruta, índice".
Sintaxis
WshShortcut.IconLocation = strIconLocation
WshShortcut.TargetPath
La propiedad TargetPath proporciona la ruta de destino del objeto de acceso directo.
Sintaxis
WshShortcut.TargetPath = strTargetPath
WshShortcut.WindowStyle
La propiedad WindowStyle proporciona el estilo de ventana del objeto de acceso directo.
Sintaxis
WshShortcut.WindowStyle = natWindowStyle
WshShortcut.WorkingDirectory
WorkingDirectory proporciona el directorio de trabajo para un objeto de acceso directo.
Sintaxis
WshShortcut.WorkingDirectory = strWorkingDirectory
WshShortcut.Save
El método Save guarda el objeto de acceso directo en la ubicación especificada por el Propiedad Nombre completo.
Sintaxis
WshShortcut.Save
Objeto WshUrlShortcut
Este objeto no se proporciona directamente. Para obtener un objeto WshUrlShortcut, utilice el método WshShell.CreateShortcut.
ProgID N/A
Nombre de archivo WSHom.Ocx
CLSID
IID
La siguiente tabla explica Propiedades relacionadas con el objeto WshUrlShortcut.
Descripción de la propiedad
URL FullName La ruta completa al objeto de acceso directo.
URL TargetPath La ruta de destino del objeto de acceso directo.
La siguiente tabla describe los métodos relacionados con el objeto WshUrlShortcut.
Método Descripción
Guardar Guarda el acceso directo en el sistema de archivos especificado.
WshUrlShortcut.FullName
La propiedad FullName proporciona la ruta completa al objeto de acceso directo.
Sintaxis
WshUrlShortcut.FullName = strFullName
WshUrlShortcut.TargetPath
La propiedad TargetPath proporciona la ruta de destino del objeto de acceso directo.
Sintaxis
WshUrlShortcut.TargetPath = strTargetPath
WshUrlShortcut.Save
El método Save guarda un acceso directo que apunta a la propiedad FullName. ubicación especificada.
Sintaxis
WshUrlShortcut.Save
WshShell.ExpandEnvironmentStrings
El método ExpandEnvironmentStrings expande la variable de entorno PROCESS en strString y devuelve la cadena resultante . Las variables están encerradas entre caracteres ''''.
Las variables de entorno no distinguen entre mayúsculas y minúsculas.
Sintaxis
WshShell.ExpandEnvironmentStrings(strString) = strExpandedString
Ejemplo
MsgBox "El mensaje es " WshShell.ExpandEnvironmentStrings(" PROMPT")
WshShell.Popup
El método Popup muestra una ventana de cuadro de mensaje emergente que contiene el mensaje especificado por strText. El título de la ventana del cuadro de mensaje se especifica mediante strTitle. Si se omite strTitle, el título de la ventana es Windows Scripting Host.
Sintaxis
WshShell.Popup(strText, [natSecondsToWait], [strTitle], [natType]) = intButton
Comentarios
Si se proporciona natSecondsToWait y su valor es mayor que cero, el cuadro de mensaje se cierra después de natSecondsToWait segundos.
natType tiene el mismo significado que en la función MessageBox de Win32. La siguiente tabla muestra los valores en natType y su significado. Los valores de la siguiente tabla se pueden combinar.
Tipo de botón
Descripción del valor
0 Muestra el botón "Aceptar"
1 Muestra los botones "Aceptar" y "Cancelar"
p>
2 Mostrar los botones "Abortar", "Reintentar" y "Ignorar"
3 Mostrar los botones "Sí", "No" y "Cancelar"
4 Mostrar los botones "Sí" y "No"
5 Mostrar los botones "Reintentar" y "Cancelar"
Tipo de icono
Descripción del valor
16 Mostrar icono de signo de parada
32 Mostrar icono de signo de interrogación
48 Mostrar icono de signo de exclamación
64 Mostrar icono de signo de información
Ambos de los anteriores La tabla no cubre todos los valores de natType. Consulte la documentación de Win32 para obtener una lista completa.
El valor de retorno intButton indica el número de botón en el que hizo clic el usuario. Si el usuario no hace clic en el botón antes de los segundos natSecondsToWait, intButton se establece en -1.
Descripción del valor
1 Botón "Aceptar"
2 Botón "Cancelar"
3 Botón "Terminar"
p>
4 Botón "Reintentar"
5 Botón "Ignorar"
6 Botón "Sí"
7 Botón "No" Girar
Ejemplo
Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.Popup "¿A dónde quieres ir hoy?"
Ver
Método Wscript.Echo
Wscript.Echo
Método Echo en ventana (Wscript.exe) o ventana "Carácter" del símbolo del sistema ( en Cscript.exe) muestra los parámetros.
Los parámetros están separados por espacios. En Cscript.exe, este método genera un par de retorno de carro/avance de línea (CR LF) después de mostrar el último argumento.
Sintaxis
Wscript.Echo [anyArg...]
Ejemplo
Wscript.Echo
Wscript .Echo 1, 2, 3
Wscript.Echo "Windows Scripting Host es genial."
WshShell.RegDelete
RegDelete elimina el archivo llamado La clave o valor de strName.
Sintaxis
WshShell.RegDelete strName
Parámetros
strName
Si strName termina con una barra invertida (\ ) finaliza, el método elimina la clave en lugar del valor.
El parámetro strName debe comenzar con uno de los siguientes nombres de clave raíz:
Nombre de clave raíz corto Nombre de clave raíz largo
HKCU HKEY_CURRENT_USER
HKLM HKEY_LOCAL_MACHINE
HKCR HKEY_CLASSES_ROOT
HKEY_USERS
HKEY_CURRENT_CONFIG
Ejemplo
Establecer WshShell = Wscript.CreateObject ( "Wscript.Shell")
WshShell.RegDelete "HKCU\ScriptEngine\Value" '' Eliminar valor "Value"
WshShell.RegDelete "HKCU\ScriptEngine\Key\" ' ' Eliminar clave "Clave"
Consulte
Método WshShell.RegRead, método WshShell.RegWrite
WshShell.RegRead
RegRead El método devuelve una clave de registro o un valor denominado strName.
Sintaxis
WshShell.RegRead(strName) = strValue
Parámetros
strName
Si strName termina en barra diagonal final (\), el método devuelve la clave en lugar del valor.
El parámetro strName debe comenzar con el siguiente nombre de clave raíz.
Corto Largo
HKCU HKEY_CURRENT_USER
HKLM HKEY_LOCAL_MACHINE
HKCR HKEY_CLASSES_ROOT
HKEY_USERS
HKEY_CURRENT_CONFIG
Notas
El método RegRead solo admite los tipos de datos REG_SZ, REG_EXPAND_SZ, REG_DWORD, REG_BINARY y REG_MULTI_SZ. Si el registro tiene otros tipos de datos, RegRead devuelve DISP_E_TYPEMISMATCH.
Ejemplo
Establecer WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.RegRead("HKCU\ScriptEngine\Val") '' Leer del valor "Val"
WshShell.RegRead("HKCU\ScriptEngine\Key\") '' Leer de la clave "Key"
Ver
WshShell . Método RegDelete, método WshShell.RegWrite
WshShell.RegWrite
El método RegWrite establece una clave o valor de registro denominado strName.
Sintaxis
WshShell.RegWrite strName, anyValue, [strType]
Parámetros
strName
Si strName Terminado con una barra invertida (\), el método establece la clave, no el valor.
El parámetro strName debe comenzar con el siguiente nombre de clave raíz.
Corto Largo
HKCU HKEY_CURRENT_USER
HKLM HKEY_LOCAL_MACHINE
HKCR HKEY_CLASSES_ROOT
HKEY_USERS
HKEY_CURRENT_CONFIG
anyValue
Cuando strType es REG_SZ o REG_EXPAND_SZ, el método RegWrite convierte automáticamente anyValue en una cadena. Si strType es REG_DWORD, anyValue se convierte en un número entero. Si strType es REG_BINARY, anyValue debe ser un número entero.
strType
El método RegWrite admite strTypes de REG_SZ, REG_EXPAND_SZ, REG_DWORD y REG_BINARY. Si se pasan otros tipos de datos como strType, RegWrite devuelve E_INVALIDARG.
Ejemplo
Establecer WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.RegWrite "HKCU\ScriptEngine\Value", "Algún valor de cadena "
WshShell.RegWrite "HKCU\ScriptEngine\Key\", 1 "REG_DWORD"
Consulte
Método WshShell.RegDelete, método WshShell.RegWrite
WshShell.Run
El método Run crea un nuevo proceso que ejecuta strCommand en el estilo de ventana intWindowStyle.
Sintaxis
WshShell.Run (strCommand, [intWindowStyle], [blnWaitOnReturn])
Parámetros
strCommand
Las variables de entorno dentro del parámetro strCommand se expanden automáticamente.
intWindowStyle
Este es el valor del elemento wShowWindow establecido dentro de la estructura STARTUPINFO para el nuevo proceso. Su significado es el mismo que el del parámetro nCmdShow en ShowWindow y puede tomar uno de los siguientes valores. Nombre Valor Significado
SW_HIDE
0 Oculta la ventana y activa otra ventana.
SW_MINIMIZE
6 Minimiza la ventana especificada y activa la siguiente ventana de nivel superior en orden Z.
SW_RESTORE
9 Activa y muestra la ventana. Si la ventana se minimiza o maximiza, se restaura a su tamaño y posición originales. Este indicador debe especificarse al restaurar una ventana minimizada de una aplicación.
SW_SHOW
5 Activa y muestra la ventana en su tamaño y posición actual.
SW_SHOWMAXIMIZED
3 Activa la ventana y la muestra maximizada.
SW_SHOWMINIMIZED
2 Activa la ventana y la muestra minimizada.
SW_SHOWMINNOACTIVE
7 Minimiza la ventana de visualización. La ventana activa permanece activa.
SW_SHOWNA
8 Muestra la ventana en su estado actual. La ventana activa permanece activa.
SW_SHOWNOACTIVATE
4 Visualización según el tamaño reciente y la posición de la ventana. La ventana activa permanece activa.
SW_SHOWNORMAL
1 Activa y muestra una ventana. Si la ventana se minimiza o maximiza, se restaura a su tamaño y posición originales.
blnWaitOnReturn
Si no se especifica blnWaitOnReturn o su valor es FALSO, este método regresa inmediatamente al script para continuar la ejecución sin esperar a que finalice el proceso.
Si blnWaitOnReturn se establece en TRUE, el método Run devuelve cualquier código de error devuelto por la aplicación. Si no se especifica blnWaitOnReturn o su valor es FALSO, Run devuelve el código de error 0 (cero).
Ejemplo
'' Este fragmento inicia el Bloc de notas con el script actualmente ejecutado
Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.Run ("notepad " & Wscript.ScriptFullName)
WshShell.Run ("windir\notepad" & Wscript.ScriptFullName)
'' Este fragmento devuelve el error código de la aplicación ejecutada
Return = WshShell.Run("notepad " & Wscript.ScriptFullName, 1, TRUE)