En muchas ocasiones nos es necesario ejecutar (por ejemplo vía tareas programadas de Windows según una planificación) la eliminación masiva de archivos o directorios de una ruta determinada (archivos temporales, logs de aplicaciones).
Para ello, podemos utilizar los siguientes scripts o batch de línea de comandos de CMD:
Primera opción, un script en VBS en el que indicamos en la constante "DIAS", el número de días que queremos conservar en base a la fecha de los ficheros, y en la constante "DIRECTORIO, la ruta sobre la que efectuar el borrado:
Option Explicit
Dim objNetwork
Const DIAS = 90
Const DIRECTORIO = "C:\WINDOWS\system32\LogFiles\W3SVC1012394340"
Call s_BorrarFicheros(DIRECTORIO)
Sub s_BorrarFicheros(str_Ruta)
Dim OBJETO, PROPIEDAD, ARCHIVO, CARPETA
Set OBJETO = WScript.CreateObject("Scripting.FileSystemObject")
Set PROPIEDAD = OBJETO.GetFolder(str_Ruta)
For Each ARCHIVO in PROPIEDAD.Files
If DateDiff ("d", ARCHIVO.DateLastModified, Now) > DIAS Then
ARCHIVO.Delete (True)
End If
Next
For Each CARPETA In PROPIEDAD.SubFolders
Call s_BorrarFicheros(CARPETA.Path)
Next
Set CARPETA = Nothing
Set ARCHIVO = Nothing
Set PROPIEDAD = Nothing
Set OBJETO = Nothing
End Sub
Otra opción, el comando forfiles, al que psamos la ruta en el parámetro -p y el número de días a conservas con el parámetro -d:
forfiles -s -p "C:\TEMP" -c "cmd /c echo del /Q /F @PATH & del /Q /F @PATH & RD /Q /S @PATH" -d -3
Y otra más, un "bat" para eliminar subdirectorios y su contenido a partir de la ruta definida en cursiva:
@echo off
pushd "C:\TEMP"
del /q *.*
for /f "Tokens=*" %%G in ('dir /B') do rd /s /q "%%G"
popd
pushd
martes, 3 de agosto de 2010
lunes, 2 de agosto de 2010
Información del sistema en el escritorio con BGINFO
BGINFO es una herramienta de la suite de Sysinternals (adquiridas por Microsoft) del gran Mark Russinovich, uno de los gurús de referencia dentro del mundo del "troubleshooting" y resolución de problemas en Windows.
BGINFO nos permite de manera fácil y sencilla mostrar información del sistema parametrizable en nuestro fondo de escritorio.
Toda la referencia de la herramienta está disponible en:
http://technet.microsoft.com/en-us/sysinternals/bb897557.aspx
Para que refresque automáticamente la información de BGINFO cada vez que iniciamos sesión en una máquina, podemos hacer lo siguiente.
Copiar el ejecutable "Bginfo.exe" y el archivo de configuración que guardemos desde la propia aplicación con los parámetros y el aspecto que queramos mostrar, p.e. "BgInfoConfig.bgi" en la ruta "C:\WINDOWS\"
Posteriormente, para versiones hasta Windows Server 2003 crearemos un acceso directo a "C:\WINDOWS\Bginfo.exe BgInfoConfig.bgi /timer=0" que guardaremos en la siguiente ruta "C:\Documents and Settings\All Users\Menú Inicio\Programas\Inicio" ( En versiones en inglés "C:\Documents and Settings\All Users\Start Menu\Programs\Startup"). Con esto, cada vez que se inicie sesión, se nos actualizará la información de sistema configurada.
En Windows Server 2008 (Y Windows Vista y 7), la ruta en la que crear el acceso directo es "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup".
Aparte de esto, otra posibilidad para actualizar la información es jugar con las tareas programadas de Windows, agregando el comando indicado arriba con la programación que nos interese (en el inicio de la máquina o cada cierto tiempo).
Métodos de ahorro de energía y bloqueo de equipos por línea de comandos
En Windows disponemos de 2 comandos para gestionar la energía del equipo, uno de ellos además nos permite realizar más operaciones sobre nuestro equipo, se trata de POWERCFG y RUNDLL32:
POWERCFG.EXE
Con este comando podemos modificar y listar las diferentes opciones de energía de nuestra máquina con Windows. A continuación, mencionar distintos artículos que nos guiarán en su utilización:
Opciones de la línea de comandos de Powercfg
http://technet.microsoft.com/es-es/library/cc748940%28WS.10%29.aspx
Video "How Do I: Using PowerCfg in Windows 7?"
http://technet.microsoft.com/en-us/windows/ee430886.aspx
Cómo utilizar Powercfg.exe en Windows Server 2003
http://support.microsoft.com/kb/324347/es
Cómo utilizar Powercfg.exe para crear un objeto de directiva de grupo para las combinaciones de energía en Windows XP
http://support.microsoft.com/kb/915160
powercfg.exe /change "always on" /monitor-timeout-ac 20 powercfg.exe /SETACTIVE "always on"
RUNDLL32.EXE
Este ejecutable nos permite realizar diferentes operaciones sobre Windows, pasándole diferentes invocaciones a DLLs. Podemos consultar el siguiente artículo sobre el uso de RUNDLL32.EXE:
http://vlaurie.com/computers2/Articles/rundll32.htm
A modo de ejemplo, para cambiar el estado del equipo a modo hibernación:
rundll32.exe PowrProf.dll,SetSuspendState
Para bloquear el equipo utilizaremos la siguiente sintaxis:
rundll32.exe user32.dll, LockWorkStation
Este último comando puede acomodarse a las políticas locales o de dominio de la máquina para programar el bloqueo automático de equipos transcurrido unos minutos, dentro de la rama Plantillas Administrativas > Panel de Control > Pantalla > Protector de Pantalla, Nombre del archivo ejecutable del protector de pantalla y Tiempo de espera.
Suscribirse a:
Entradas (Atom)