PROGRAMACIÓN WINDOWS DE CÓDIGOS EN VBSSCRIPT

Ejemplos de códigos de scripts basados en VbScript el lenguaje de programación de Windows

¿Que es Vbsscript y para que sirve?

Es el lenguaje de programación que unicamente funciona con todos los sistemas operativos Windows y que tiene el objetivo de sustituir al mítico Ms-Dos.
Son pequeños archivos de texto con extensión .vbs por el que podemos utilizar todos los recursos de que dispone el Windows. Funcionan igual que un archivo ejecutable.
Ademas se pueden ejecutar desde una pagina web html o hta incluyendo el siguiente código: , hay que tener en cuenta que solamente funciona en los navegadores de Internet Explorer.
Una pequeña lista de los usos que se le puede dar al VbsScript:
  • Abrir aplicaciones automáticamente en nuestro portátil.
  • Modificar el registro de Windows
  • Realizar copias de seguridad de los archivos que mas nos interese.

A continuación describo ejemplos prácticos del uso de este lenguaje. Recuerda que simplemente tienes que copiar las lineas de código en un archivo, es muy importante añadirle la extensión .vbs en caso contrario no funcionara. Estos ejemplos por separado pueden parecer sencillos pero en combinación con otros puede ser una herramienta muy poderosa y útil.

Ejemplo 1: Hace que salte la ventana de ayuda del windows

set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys "{F1}"
Sustituye F1 por otra tecla de función y tendrás otros efectos.

Ejemplo 2: Abre un programa ejecutable

Set objShell = CreateObject("Wscript.Shell")
objShell.Run "calc.exe"
Puedes sustituir calc.exe por otra aplicación.

Ejemplo 3: Abre una ventana y muestra la configuración de red de tu equipo con el comando netsh

Set objShell = CreateObject("WScript.Shell")
strCommand = "cmd /k netsh interface ip show config"
objShell.Run strCommand, 1
El mismo ejemplo que el anterior pero con el comando Ipconfig
Set objshell = createobject("wscript.shell")
Set ping = objshell.exec("cmd /c ipconfig /all")
Msgbox ping.stdout.readall

Ejemplo 4: El ordenador cada vez que se enciende nos habla con el mensaje que indiquemos.

Dim speaks, speech
speaks="Bienvenido"
Set speech=CreateObject("sapi.spvoice")
speech.Speak speaks

Ejemplo 5: Se abre una ventana para iniciar la búsqueda de un archivo o carpeta

Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder
_ (WINDOW_HANDLE, "Selecciona una carpeta:", NO_OPTIONS)
Set objFolderItem = objFolder.Self
strPath = objFolderItem.Path
objShell.Explore strPath

Ejemplo 6: Crea un punto de restauración de nuestro Windows.

Option Explicit
Dim oSysRestore, sName, makeRestorePoint, sMsg
sMsg= msgBox("Este script creara un punto de restauracion. Continuar?", vbYesNo)
If sMsg = vbNo then wScript.Quit
Set oSysRestore = GetObject( "winmgmts:\\.\root\default:Systemrestore" )
sName = inputBox("Escriba el nombre para el punto de restauracion." & vbCrlf & "El dato sera incluido.", "Name the restore point")
if sName ="" then wScript.Quit
makeRestorePoint = oSysRestore.CreateRestorePoint( sName, 0, 100 )
msgBox "El punto de restauracion llamado " & sName & " ha sido creado"
set oSysRestore = Nothing
wscript.Quit

Un punto de restauración es una copia de seguridad del registro de windows en la fecha que lo ejecutamos, muy practico en el caso de que nos falle el ordenador, el Windows automáticamente para solucionar el problema se ira al ultimo punto de restauración creado.

Ejemplo 7: Muestra si tenemos dispositivos (smartphones, webcam, usb, discos duros, cámaras ...ect) que no funcionan correctamente,
mostrando información que nos puede ser muy util

strComputer = "."
Set objWMIService = GetObject(_
"winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery _
("Select * from Win32_PnPEntity " _

& "WHERE ConfigManagerErrorCode <> 0")
For Each objItem in colItems
Wscript.Echo "Nombre: " & objItem.Name
Wscript.Echo "Descripción: " & objItem.Description
Wscript.Echo "ID Identidad del dispositivo: " & objItem.DeviceID
Wscript.Echo "Fabricante: " & objItem.Manufacturer
Wscript.Echo "Class GUID: " & objItem.ClassGuid
Wscript.Echo "PNP Device ID: " & objItem.PNPDeviceID
Wscript.Echo "Servicio: " & objItem.Service
Next

Ejemplo 8: Hace una copia el archivo foto1.jpg y lo llama foto2.jpg

Set variable = CreateObject("Scripting.FileSystemObject"
variable.CopyFile ".foto1.jpg","foto2.jpg"

Ejemplo 9: Mueve el archivo foto1. jpg al c:

Set variable = CreateObject("Scripting.FileSystemObject"
variable.MoveFile ".foto1.jpg", "C:foto1.jpg"

Ejemplo 10: Borra el archivo foto1.jpg
Mucho cuidado según lo que insertes en la segunda linea puedes llegar a borrar todo el disco duro

Set variable = CreateObject("Scripting.FileSystemObject"
variable.DeleteFile "C:foto1.jpg"

Ejemplo 11: Crea la carpeta trabajo que cuelga del raiz

Set variable = CreateObject("Scripting.FileSystemObject"
variable.CreateFolder "C:trabajo"

Ejemplo 12: Elimina la carpeta trabajo. Mucho cuidado según lo que insertes en la segunda linea
puedes llegar a borrar todas las carpetas de tu ordenador

Set variable = CreateObject("Scripting.FileSystemObject"
variable.DeleteFolder "C:trabajo"