Seleccionar página

Documentación VBS

Estructuras de control
Bucle FOR

I = 1
For I = 1 to 22
"Accion"
Next

Bucle FOR para arrays

For Each strSubkey In arrSubkeys
"Accion"
Next

Manejo de ficheros
Codigo común para ficheros

Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim objfso
Dim objficherolog
Set objfso = CreateObject("Scripting.FileSystemObject")

Existencia de fichero

aux = objfso.FileExists("C:Windowssystem32driversetchosts")

Existencia de la unidad “c”

aux = objfso.DriveExists("c")

Existencia del directorio

aux = objfso.FolderExists("C:Windows")

Abrir Fichero

Set objFicheroLog = objfso.OpenTextFile( "ruta completa y nombre del log", ForAppending , True )

Borrar Carpeta

objfso.DeleteFolder "Ruta completa de la carpeta a borrar"

Borrar Archivo

objfso.DeleteFile "Ruta completa de la carpeta a borrar"

Copiar fichero

objfso.CopyFile "c:hola.txt","c:prueba"

Comprobarr si existe un fichero

if not objfso.FileExists(strDirectorioProgramas & "NovadigmRadskman.exe") then

Leer un Fichero , una linea una posicion del Array


Dim vector()
Do Until miFichero.AtEndOfStream
reDim Preserve vector(i)
vector(i) = mifichero.ReadLine
i = i + 1
Loop

Buscar en un Array


Dim cont
For cont = Lbound(del_mad) to UBound(del_mad)
If del_mad(cont) = Subred then
WScript.Echo "Encontrado"

Listar Software Instaldo en maquina local


Dim objfso
Dim objficherolog

Set objfso = CreateObject("Scripting.FileSystemObject")
Set objFicheroLog = objfso.OpenTextFile( "c:listado.log", 8, True )

Const HKLM = &H80000002 'HKEY_LOCAL_MACHINE
strComputer = "."
strKey = "SOFTWAREMicrosoftWindowsCurrentVersionUninstall"
strEntry1a = "DisplayName"
strEntry1b = "QuietDisplayName"
strEntry2 = "InstallDate"
strEntry3 = "VersionMajor"
strEntry4 = "VersionMinor"
strEntry5 = "EstimatedSize"

Set objReg = GetObject("winmgmts://" & strComputer & _
"/root/default:StdRegProv")
objReg.EnumKey HKLM, strKey, arrSubkeys
WScript.Echo "Installed Applications" & VbCrLf
For Each strSubkey In arrSubkeys
intRet1 = objReg.GetStringValue(HKLM, strKey & strSubkey, _
strEntry1a, strValue1)
If intRet1 <> 0 Then
objReg.GetStringValue HKLM, strKey & strSubkey, _
strEntry1b, strValue1
End If
If strValue1 <> "" Then
objFicheroLog.WriteLine VbCrLf & "Display Name: " & strValue1
End If

Next

Desinstalar Software


strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!" & strComputer & "rootcimv2")
Set colSoftware = objWMIService.ExecQuery _
("Select * from Win32_Product Where Name = 'Cadena localizada en listar software'")
For Each objSoftware in colSoftware
objSoftware.Uninstall()
Next

Instalar Software


Dim objWSHShell, objExec
Set objWSHShell = WScript.CreateObject("WScript.Shell")
On Error Resume Next
Set objExec = objWSHShell.Exec("Ruat completa del EXE y parametros")
' Espera a la correcta finalizacion del EXE
Do While objExec.Status = 0
WScript.Sleep 500
Loop
set WshShell = Nothing

Montar Unidades de Red

on error resume next
WshNetwork.RemoveNetworkDrive CONST_UNIDAD_DESCRIPTOR
WshNetwork.MapNetworkDrive NUEVA_UNIDAD, RECURSO_COMPARTIDO , false , USUARIO , PASSWORD

Trabajo con el registro


Dim RegShell
Set RegShell = WScript.CreateObject("WScript.Shell")
"Entrada de registro , se mantienen las comillas"
Dim strRuta
strRuta = "1"
Dim valor
valor = "1"
RegShell.RegWrite strRuta, valor ,"REG_DWORD"
Set RegShell = Nothing

Redirigir salida de un CMD

Codigo para redirigir la salida de un programa externo por consola a una variable de VB

Cada caracter sera añadido a la variable salida_cmd mientras no sea final de Stream.
Dim final As Boolean
final = True
Do While final
If Not oExec.StdOut.AtEndOfStream Then
salida_cmd = salida_cmd & oExec.StdOut.Read(1)
Else
final = False
'Exit Do
End If
Loop