Lista ficheros por extensión + DateDiff. VBScript

Scripts 3 Comentarios »

Este es un Script que he hecho para un amigo. Como me ha parecido un poco extraño que me preguntase por esto lo voy a plasmar aquí por si a alguien mas le ayuda.

¿Que hace el Script?

En el directorio seleccionado lista todos los ficheros con la extensión definida (en este caso "001") y si han pasado mas de 15 días desde su última modificación lo borra.

Visual Basic:
  1. sExt = "001"
  2. ahora=Now
  3. With CreateObject("Scripting.FileSystemObject")
  4.     For Each oFile In .GetFolder("c:\temp").Files
  5.         If UCase(.GetExtensionName(oFile.Name)) = Ucase(sExt) Then
  6. ' Comparación con el día de la ultima modificación
  7.             If datediff("d",oFile.DateLastModified,ahora)>= 15 Then
  8.                 Wsh.Echo oFile.Path
  9.                     .deletefile(oFile.path)
  10.             End If
  11.         End If
  12.     Next
  13. End With

Si queréis que la diferencia sea entre el día de creación y hoy el DateDiff ha de ser el siguiente:

Visual Basic:
  1. If datediff("d",oFile.DateCreated,ahora)>= 15 Then

para diferencia entre el día del ultimo acceso y hoy:

Visual Basic:
  1. If datediff("d",oFile.DateLastAccessed,ahora)>= 15 Then

Ojo que como os he dicho tal y como está el Script borraría el fichero.

Saber si un proceso se está ejecutando. Visual Basic Script (vbs)

Scripts 3 Comentarios »

Simple script que nos dice si un proceso se está ejecutando. En el caso siguiente utilizo el notepad.exe pero claro sustituyendo el proceso podéis buscar cualquier otro.

Visual Basic:
  1. Set WshShell = WScript.CreateObject ("WScript.Shell")
  2. Set colProcessList = GetObject("Winmgmts:").ExecQuery ("Select * from Win32_Process")
  3.  
  4. For Each objProcess in colProcessList
  5. If objProcess.name = "notepad.exe" then
  6. Encontrado = True
  7. End if
  8. Next
  9. If Encontrado = True then
  10. Msgbox("Proceso encontrado")
  11. Else
  12. Msgbox("Proceso No encontrado")
  13. End If

Borrar impresoras de red con vbs. Visual Basic Script.

Scripts 2 Comentarios »

Aquí os dejo un script vbs (Visual Basic Script) que al ser ejecutado en un Pc con Windows lista las impresoras que hay instaladas en el sistema y borra todas las impresoras de red respetando las locales. Está probado en XP y 2000.

En mi caso lo he utilizado para hacer limpieza de las impresoras de red antiguas que algunos equipos tenían instaladas y que ya se encontraban obsoletas. Aplicado con ayuda de una directiva de Active Directory puede ser muy eficiente.

Evidentemente manipulando el script puedes hacer que las borre todas pero eso lo dejo para que os calentéis un poco la cabeza (no mucho).

Visual Basic:
  1. strComputer = "."
  2. Set WshNetwork = WScript.CreateObject("WScript.Network")
  3. Set objShell = CreateObject("Wscript.Shell")
  4. Set objWMIService = GetObject("winmgmts:" _
  5. & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
  6. Set colInstalledPrinters = objWMIService.ExecQuery _
  7. ("Select * from Win32_Printer")
  8. Wscript.Echo "Enumero las impresoras del sistema:"
  9. Wscript.Echo "______________________________"
  10. For Each objPrinter in colInstalledPrinters
  11. Wscript.Echo "Nombre: " & objPrinter.Name
  12. Wscript.Echo "Localización: " & objPrinter.Location
  13. if InStr(objPrinter.Name, "\\")> 0 then
  14.     wscript.echo Now & " Borraré: " & objPrinter.Name
  15.     WshNetwork.RemovePrinterConnection objPrinter.Name
  16. end if
  17. Next
  18. Wscript.Echo Now & " Terminado. "

Si luego quieres añadir una nueva tan solo has de añadir al final del script por ejemplo:

Visual Basic:
  1. 'Añade la nueva impresora
  2. WshNetwork.AddWindowsPrinterConnection "\\PrintServer1\Dell5210nPS"
  3. 'Pone la impresora por defecto
  4. WshNetwork.SetDefaultPrinter "\\PrintServer1\Dell5210nPS"

Script Vbs para sustituir un fichero.

Scripts No hay Comentarios »

Script simple para sustituir el fichero de la imagen corporativa de la firma que los usuarios se crean en el Outlook.

En mi empresa cambiamos el logotipo y este script fué usado para cambiar a todos los usuarios la imagen del logotipo de la firma del correo. Está probado en Windows 2000 y XP.

¿Como funciona este script?
Busca el fichero de imagen dentro del directorio de usuario del pc donde se almacenan las firmas de los correos.
Si existe lo sustituye por el nuevo y deja un fichero "hecho.txt" para saber que en ese pc ya se ha ejecutado. Cuando al día siguiente el usuario hace login lo primero que busca el script es el fichero "hecho.txt", si existe termina y no modifica nada.

Si, ya se, este script es un poco personalizado para este caso pero espero que algunas partes del mismo le sean útiles a alguno de los lectores de este blog.

Visual Basic:
  1. Set shell= WScript.CreateObject("WScript.Shell")
  2. strUserName = shell.ExpandEnvironmentStrings("%USERNAME%")
  3.  
  4. dim Ruta
  5. Ruta= "C:\Documents and Settings\" & strUserName & "\Datos de Programa\Microsoft\Signatures\"
  6.  
  7. call ShowFolderList (Ruta, strUserName)
  8.  
  9. Sub ShowFolderList(Ruta, strUserName)
  10.   Dim fs, f, fc, s
  11.   dim dia, mes, ano
  12.   dia = day(date ())
  13.   mes = month (date())
  14.   ano = year (date())
  15.   hora = hour(time())
  16.   minuto = minute(time())
  17.  
  18.   strUserName = strUsername & fecha
  19.   'WScript.echo strUserName
  20.   Set fs = CreateObject("Scripting.FileSystemObject")
  21.   If fs.FolderExists (Ruta) then
  22.     Set f = fs.GetFolder(Ruta)
  23.     Set fc = f.SubFolders
  24.     if fs.FileExists(Ruta & "\hecho.txt") then
  25.     '   WScript.echo "Ya esta"
  26.     else
  27.       For Each f in fc
  28.         s = f.path & "\img001.gif"
  29.         ' WScript.echo s
  30.         if fs.FileExists(f.Path & "\image001.gif") then
  31.             'WScript.echo f.path
  32.             fs.CopyFile "P:\Informatica\firma\image001.gif", f.path & "\image001.gif"
  33.  
  34.         Set f = fs.CreateTextFile(Ruta & "\hecho.txt", True)
  35.         Set f = fs.CreateTextFile("P:\informatica\firma\" & strUserName & "-" & dia & "-" & mes & "-" & ano & "-" & hora & "-" & minuto & ".txt", True)
  36.         end if
  37.       Next
  38.     End if
  39.   end if
  40. End Sub

WP Theme & Icons originales por N.Design Studio.
Aviso Legal Entradas RSS Comentarios RSS Acceder