No tienes permiso para ejecutar Windows Script Host en esta computadora. Comuníquese con el administrador de su sistema.
¿Hay una clave DWORD llamada Habilitada en la ventana de la derecha? Si lo hay, elimínelo o establezca el valor en 1 y funcionará normalmente. Los usuarios que han utilizado sistemas DOS en los primeros años saben que el sistema operativo MS-DOS permite a los usuarios normales escribir archivos por lotes para una programación sencilla. Simplifica efectivamente nuestro trabajo y nos brinda mucha comodidad. Incluso hubo algunos programadores que se especializaron en escribir archivos por lotes.
De hecho, además de proporcionar una interfaz de usuario fácil de utilizar, un sistema operativo también debe tener un lenguaje de programación incorporado para ser completo. Desde cierta perspectiva, se puede decir que un archivo por lotes es un lenguaje de programación en MS-DOS. En la era de Windows, aunque el sistema Windows todavía conserva el procesamiento por lotes, la función de procesamiento por lotes en Windows es demasiado simple y no puede satisfacer las necesidades de los usuarios; por ejemplo, ¿se puede realizar el procesamiento por lotes modificando el registro? De hecho, los sistemas Windows posteriores a Windows 98, además de conservar el sistema por lotes original, comenzaron a agregar soporte para lenguajes de secuencias de comandos. Este es "Windows Scripting Host", que se traduce al chino como "Windows Scripting Host", o WSH para abreviar. .
WSH en sí no es un lenguaje de scripting, sino el entorno operativo del lenguaje de scripting. Los lenguajes de secuencias de comandos admitidos por WSH incluyen JScript (Microsoft JavaScript, que es diferente del JavaScript real) y VBScript; esto debe ser familiar para todos y se usa comúnmente en páginas web.
Hay dos formas de utilizar el motor de secuencias de comandos CScript.exe, una es WScript.exe en modo comando y la otra es en modo Windows. El programa de script que escribimos (archivo de texto sin formato con extensión .). js "y". vbs") debe cargarse y ejecutarse a través de cualquiera de ellos.
Aunque WSH admite los lenguajes JScript y VBScript, aún necesita cooperar con algunos objetos proporcionados por el propio WSH, así como con las propiedades y métodos del objetos, para que funcionen El mayor efecto. No hablaré sobre la programación de JScript y VBScript aquí. Ahora centrémonos en el objeto WSH. De hecho, la programación de registro involucrada en este artículo casi no requiere conocimiento de VBScript. para aplicarlo brevemente son suficientes
Los objetos principales en WSH son: WScirpt, WshArguments, WshShell, WshUrlShortcut, WshNetwork, WshSpecialFolders, WshCollection, WshEnvironment, WshShort, etc.
Cada objeto. Cada uno tiene sus propias propiedades y métodos. Aquí, solo presentamos brevemente los métodos y propiedades de los objetos involucrados en el acceso al registro.
El primero es el objeto WshShell, que puede. se puede utilizar para configurar las variables de entorno del sistema y modificar los datos del registro. Para modificar los datos del registro, debe utilizar tres métodos del objeto WshShell: RegDelete (eliminar datos del registro), RegWrite (escribir o crear nuevos datos del registro) y RegRead (leer). datos de registro). /p>
Por lo general, solo necesitamos usar los dos primeros métodos. Su uso específico es el siguiente:
I RegWrite (escribo o creo nuevos datos de registro)
<. p> *Crear una nueva clave primaria secundariaLa sintaxis es: WshShell.
RegWrite "nombre de clave secundaria"
Por ejemplo, si queremos crear una nueva clave principal "HKEY_current_user\myuser", podemos usar la siguiente declaración:
WshShell. RegWrite "HKCU\Maileg"
Descripción: el nombre de la clave secundaria debe terminar con una barra invertida (\). Si accidentalmente olvida ingresar esto (\), el método devolverá el valor de la clave, lo que significa que desea crear un valor de clave llamado MyReg bajo el usuario actual de HKEY. ¡Esto debe tomarse en serio!
Tenga en cuenta que la clave secundaria entre comillas debe comenzar con uno de los siguientes nombres de clave raíz:
HKEY_CURRENT_USER (abreviado como HKCU), HKEY_LOCAL_MACHINE (HKLM)), HKEY_CLASS_ROOT(HKCR) , HKEY_USER y HKEY_CURRENT_CONFIG.
* Cree un nuevo valor de clave (o sobrescriba los datos de un valor de clave existente) bajo la clave principal secundaria.
La sintaxis es: WshShell. RegWrite "Nombre de clave subprimaria\nombre de clave", "Datos de valor de clave" y "Tipo de valor de clave"
Por ejemplo, si queremos crear una clave subprimaria "HKEY_current_user\my registro" Nueva cadena KeyValue y establezca los datos del valor clave a "str", podemos usar la siguiente declaración:
WshShell. RegWrite "HKCU\Marege\Key Value", "String"
(Nota: el valor clave es un valor de cadena, por lo que se puede omitir la declaración de "tipo de valor clave".)
Si crea un valor binario o un valor DWORD y los datos son "1", también debe declarar el tipo de valor clave, de la siguiente manera:
WshShell. RegWrite " HKCU\myreg\key", 1, " REG_BINARY "
WshShell. RegWrite " HKCU\MAEG\KeyValue", 1, " REG_DWORD "
Tenga en cuenta que los datos con valores binarios y valores DWORD no se pueden citar, mientras que los datos con valores de cadena deben citarse.
En segundo lugar, RegDelete (eliminar datos de registro)
*Eliminar una clave subprimaria.
La sintaxis es: WshShell. RegDelete "Nombre de clave subprimaria"
Por ejemplo, si queremos eliminar la clave subprimaria "HKEY_current_user\my Registration", podemos usar la siguiente declaración:
WshShell. RegDelete "HKCU\Maileg"
*Elimina el valor de la clave primaria secundaria.
La sintaxis es: WshShell. RegDelete "Nombre de clave secundaria\nombre de clave".
Por ejemplo, si queremos eliminar el valor clave de la clave secundaria "HKEY_current_user\my Registration", podemos usar la siguiente declaración:
Wshshell. regdelete "hkcu \ myreg \ keyvalue" es similar a RegWrite. Hay un símbolo \ " para eliminar la clave secundaria y no hay un símbolo \ " para eliminar el valor de la clave debajo de la clave secundaria.
Además del objeto WshShell, también debemos entender el objeto WScirpt. El objeto WScirpt representa el motor de script y se generará automáticamente cada vez que se inicie el motor. Los objetos WScript proporcionan métodos para crear y leer objetos. Para utilizar otros objetos WSH (como los objetos WshShell), primero debe crearlos y leerlos utilizando los métodos relevantes del objeto WScript (CreateObject, GetObject).
La sintaxis para crear objetos es la siguiente:
WScript. CreateObject(strProgID)
Donde strProgID es el nombre de identificación del objeto que queremos crear.
Por ejemplo, si queremos utilizar el objeto WshShell y sus propiedades y métodos, primero debemos crear un objeto WshShell usando el método CreateObject con la siguiente declaración:
Set WSHShell = WScript. CreateObject("WScript. Shell")
Por ejemplo. Como todos sabemos, si utiliza "Ejecutar" en el menú "Inicio", Windows registrará su "crimen" en el cuadro de lista. De hecho, estos datos están registrados en el registro HKEY_Current_User\Software\Microsoft\Windows\
Bajo la subclave CurrentVersion\Explorer\RunMRU, solo necesitamos eliminar esta subclave y luego volver a crearla. ¿No es suficiente?
Ahora podemos escribir un guión. Tomando VBS como ejemplo, podemos usar el Bloc de notas para crear un nuevo archivo y luego ingresar (el texto después de "//" es un comentario y no es necesario ingresar):
//Defina el objeto. Para editar el registro, necesitamos usar el objeto WSHShell y sus métodos.
Dim WSHShell
//Método de objeto CreateObject para crear un objeto WSHShell.
Establezca WSHShell = WScript. CreateObject("WScript. Shell")
//Luego RegDelete HKEY _current_user\software\Microsoft\
windows\current version\explorer\run mru subkey
WSH Shell. RegDelete "HKCU \Software\Microsoft\
windows \ current version \ Explorer \ run mru \ "
//Finalmente restauramos la clave principal y restauramos el valor de cadena "MRUList" en la clave principal, estableciendo sus datos en una cadena vacía.
WSHShell. RegWrite "HKCU\Software\Microsoft\
windows\current version\Explorer\run mru\mru list",""
El programa termina aquí. Podemos guardar el archivo como CleanMRU.vbs y ahora podemos usar el motor de secuencias de comandos para ejecutar este programa. Suponiendo que simplemente guardamos este archivo en D:\TEMP, podemos iniciar menu-Wcript.exe usando Ejecutar en D:\TEMP\clean mru.VBS, ¿qué tal si reiniciamos? ¡"Ejecutar" está vacío!
Si trabajamos duro para compilar el programa y finalmente tenemos que ejecutarlo manualmente, ¡es mejor usar el editor de registro directamente cada vez! De hecho, podemos hacer que se cargue automáticamente cada vez que encendamos el ordenador. Entonces, todos deben saberlo: podemos usar el editor de registro para crear un carácter bajo la subclave de "HKEY_Local_Machine\Software\Microsoft\Windows\
"CurrentVersion\Run" Valor de cadena "CleanMRU" y configurar sus datos. a "wccript .exe d:\temp\clean mru.VBS". Oye, eso es lo que debes hacer. Windows ejecutará automáticamente el script cada vez que inicies el Historial en "Ejecutar".
Limitado por el espacio. Limitaciones, este artículo solo presenta el uso preliminar de objetos WSH relacionados con modificaciones del registro. Siempre que agreguemos algunas oraciones simples al script, podemos implementar fácilmente operaciones interactivas. Por supuesto, esto requiere que todos tengan más conocimientos sobre WSH y. VBScript. Si está interesado, puede descargar los documentos de ayuda sobre WSH y VBScript desde el sitio web de Microsoft.
Las URL son /China/scripting/Windows Host/wsh doc . y /China/scripting/VBScript/download/vbsdoc . Además, en el directorio de ejemplos de Windows, hay una carpeta WSH que contiene muchos. vbs y. rutina js. Puedes abrirlo y echarle un vistazo (haz clic derecho en el icono y selecciona "Editar"). Creo que habrá mucho que ganar.
Finalmente, si Windows Scripting Host está instalado en su máquina y el programa VBS aún no se ejecuta, es posible que usted u otra aplicación haya modificado el programa VBS asociado. EBV. Hasta donde yo sé, Lenovo será modificado por "Super Street Fighter" instalado en casi todas las máquinas. Archivos VBS. No importa. Sólo necesita desinstalarlo desde el Panel de control - Agregar o quitar programas - Instalador de Windows - Accesorios - Detalles y luego reinstalar Windows Scripting Host. En primer lugar, Hero ha bloqueado mi asociación de archivos vbs. Hago doble clic en Deploy.vbs y se abre Hero, lo cual es bastante frustrante. Pero usé el modo abierto, probé el navegador y cmd, pero fue en vano.
Después de pensar en esta pregunta hoy, se me ocurrió la idea de hacerla en el grupo de noticias de Microsoft. Luego fui a la búsqueda de texto completo CSDN. Efectivamente, mi palabra clave era solo vbs y encontré muchas cosas que quería cuando la ejecuté. Entiendo que se utiliza wscript.exe para ejecutar este archivo.
Escribí wscript.exe implementar.vbs en cmd pero el error devuelto es No hay motor de script para la extensión de archivo. vbs. Fue entonces cuando pensé en Google. Efectivamente, encontré mucha información útil y encontré la solución en la primera. El motivo es que mi asociación vbs se perdió y se debe mostrar la tarea.
Escriba wscript.exe//e: implementación de VBScript VBS en cmd. ¡en realidad! ! !
Resumen: utilice wscript.exe para ejecutar archivos de script, como vbs. Si se pierde la asociación del archivo. Puedes usar //e:vbscript.