Siempre es interesante conocer algunas de las funciones del WSH, esto brinda un poco mas de dinamica a nuestras aplicaciones.
*************************************************
OBTENER NOMBRE DEL PC, DOMINIO Y USUARIO
*************************************************
WshNetwork = CreateObject('WScript.Network')
lcMessage='Domain = ' + WshNetwork.UserDomain + CHR(13)
lcMessage=lcMessage+ 'Computer Name =' + WshNetwork.ComputerName+CHR(13)
lcMessage=lcMessage+ 'User Name = ' + WshNetwork.UserName
MESSAGEBOX(lcMessage)
*************************************************
OBTENER INFORMACION SOBRE LAS UNIDADES DE CD
*************************************************
LOCAL strComputer
Local lcString
strComputer = '.'
lcString = ''
objWMIService = Getobject('winmgmts:'+ 'impersonationLevel=impersonate}!\\' + strComputer + '\root\cimv2')
colItems = objWMIService.ExecQuery('Select * from Win32_CDROMDrive')
For Each objItem In colItems
lcString = lcString + 'Description: '+objItem.Description+Chr(13)
lcString = lcString + 'Name: '+objItem.Name+Chr(13)
lcString = lcString + 'Manufacturer:' +objItem.manufacturer+Chr(13)
lcString = lcString + 'Media type: '+objItem.mediaType+Chr(13)
lcString = lcString + 'PNP Device ID:' + objItem.PNPDeviceID +Chr(13)
Next
Messagebox(lcString)
*************************************************
MAPEAR UNA UNIDAD DE RED
*************************************************
oNet = CreateObject('WScript.Network')
oNet.MapNetworkDrive('I','\\myserver\myFiles',.T.,'mike','password')
*************************************************
DESCONECTAR DE UNA UNIDAD DE RED
*************************************************
WshNetwork = CreateObject('WScript.Network')
WshNetwork.RemoveNetworkDrive('E')
***************************************
CONFIGURAR UNA IMPRESORA POR DEFAULT
***************************************
oNet = CreateObject('WScript.Network')
oNet.SetDefaultPrinter('\\ServerName\PrinterName')
*************************************************
OBTENER EL ESPACIO LIBRE EN DISCO
*************************************************
objFSO = CreateObject('Scripting.FileSystemObject')
objDrive = objFSO.GetDrive('C:')
MESSAGEBOX('Available space: ' + chr(13)+TRANSFORM(objDrive.AvailableSpace,'999,999,999,999,999'+' kb' ))
*******************************************
*BORRAR UN ARCHIVO DEL DISCO **************
********************************************
cfile=ADDBS(dapli)+"ArchiBorr.txt"
IF FILE(cfile)
fso =createobject('Scripting.FileSystemObject')
fldr = fso.DeleteFile(cFile)
RELEASE FSO
ENDIF
*************************************************
*************************************************
COMO COPIAR UN ARCHIVO DEUN LUGAR A OTRO
*************************************************
FSO = CreateObject('Scripting.FileSystemObject')
FSO.CopyFile('c:\COMPlusLog.txt','c:\x\')
*************************************************
COMO CREAR UNA CARPETA
*************************************************
fso = createobject('Scripting.FileSystemObject')
fldr = fso.CreateFolder('C:\MyTest')
*************************************************
COMO BORRAR UNA CARPETA
*************************************************
fso =createobject('Scripting.FileSystemObject')
fldr = fso.DeleteFolder('C:\MyTest')
*************************************************
DETERMINAR SI UNA CARPETA EXISTE
*************************************************
fso =createobject('Scripting.FileSystemObject')
? fso.FolderExists('C:\MyTest')
COMO CREAR UN ARCHIVO
fso = CreateObject('Scripting.FileSystemObject')
f1 = fso.CreateTextFile('c:\testfile.txt', .T.)
*************************************************
COMO CREAR UN ARCHIVO Y ESCRIBIR EN EL
*************************************************
fso = CreateObject('Scripting.FileSystemObject')
tf = fso.CreateTextFile('c:\testfile.txt', .t.)
tf.WriteLine('Testing 1, 2, 3.')
tf.WriteBlankLines(3) && Skip three lines
tf.Write ('This is a test.')
tf.Close
MODIFY FILE 'c:\testfile.txt'
*************************************************
*COMO CREAR UN ICONO EN EL ESCRITORIO
*************************************************
Shell = CreateObject('WScript.Shell')
DesktopPath = Shell.SpecialFolders('Desktop')
link = Shell.CreateShortcut(DesktopPath+'\test.lnk')
link.Arguments = '1 2 3'
link.Description = 'test shortcut'
link.HotKey = 'CTRL+ALT+SHIFT+X'
link.IconLocation = 'app.exe,1'
link.TargetPath = 'c:\blah\app.exe'
link.WindowStyle = 3
link.WorkingDirectory = 'c:\blah'
link.Save()
COMO CREAR UNA ENTRADA EN EL REGISTRY DE WINDOWS
*************************************************
oSh = CreateObject('WScript.Shell')
key = 'HKEY_CURRENT_USER\'
oSh.RegWrite( key + 'WSHTest\','testkeydefault')
oSh.RegWrite(key + 'WSHTest\string1', 'testkeystring1')
oSh.RegWrite( key + 'WSHTest\string2', 'testkeystring2', 'REG_SZ')
oSh.RegWrite( key + 'WSHTest\string3', 'testkeystring3', 'REG_EXPAND_SZ')
oSh.RegWrite( key + 'WSHTest\int', 123, 'REG_DWORD')
COMO REMOVER LA ENTRADA
oSh = CreateObject('WScript.Shell')
oSh.RegDelete('HKCU\\Software\\ACME\\FortuneTeller\\MindReader')
oSh.RegDelete('HKCU\\Software\\ACME\\FortuneTeller\\')
oSh.RegDelete ('HKCU\\Software\\ACME\\')