Eliminar archivos temporales del script por lotes en XP

Eliminar archivos temporales del script por lotes en XP

Estoy buscando un buen script por lotes que encuentre y limpie rápidamente todas las carpetas/archivos temporales seguros conocidos de las máquinas con Windows (tantas variantes como sea posible) (por ejemplo, la carpeta temporal de Windows, las carpetas temporales de IE de todos los usuarios, etc.). Me gustan las herramientas de interfaz de usuario como CCleaner (sobre Cleanmgr.exe), pero cuando intento limpiar varias computadorasrápidamente y/o con mínima participación, sería bueno tener un guión.

Además, con un guión, podría encadenar varios guiones. Tal vez uno para luego activar varios antivirus y/o detectores de malware.

¿Alguien tiene uno bueno o puede señalar un buen recurso?

Respuesta1

Aquí hay un pequeño script que escribí y que guardo en mi unidad de utilidad USB... EXCELENTE para servidores Citix :)

@echo off
Echo Started %time%
Echo Started %time% >> temps.txt
Echo Running for XP... >> temps.txt
Echo Running for XP...
FOR /F "tokens=*" %%G IN ('DIR /B /AD') DO IF EXIST "%%G\Local Settings\Temp\" (
    RMDIR /S /Q "%%G\Local Settings\Temp"
    MKDIR "%%G\Local Settings\Temp"
    Echo Cleared %%G\Local Settings\Temp
    Echo Cleared %%G\Local Settings\Temp >> temps.txt
)
FOR /F "tokens=*" %%G IN ('DIR /B /AD') DO IF EXIST "%%G\Local Settings\Temporary Internet Files\" (
    RMDIR /S /Q "%%G\Local Settings\Temporary Internet Files\"
    MKDIR "%%G\Local Settings\Temporary Internet Files\"
    Echo Cleared %%G\Local Settings\Temporary Internet Files\
    Echo Cleared %%G\Local Settings\Temporary Internet Files\ >> temps.txt
)
Echo Done.
Echo Running for Vista >> temps.txt
Echo Running for Vista...
FOR /F "tokens=*" %%G IN ('DIR /B /AD') DO IF EXIST "%%G\AppData\Local\Temp\" (
    RMDIR /S /Q "%%G\AppData\Local\Temp\"
    MKDIR "%%G\AppData\Local\Temp\"
    Echo Cleared %%G\AppData\Local\Temp\
    Echo Cleared %%G\AppData\Local\Temp\ >> temps.txt
)
FOR /F "tokens=*" %%G IN ('DIR /B /AD') DO IF EXIST "%%G\AppData\Local\Microsoft\Windows\Temporary Internet Files\" (
    RMDIR /S /Q "%%G\AppData\Local\Microsoft\Windows\Temporary Internet Files\"
    MKDIR "%%G\AppData\Local\Microsoft\Windows\Temporary Internet Files\"
    Echo Cleared %%G\Local Settings\Temporary Internet Files\
    Echo Cleared %%G\Local Settings\Temporary Internet Files\ >> temps.txt
)
Echo Done.
Echo Ended %time%
Echo Ended %time% >> temps.txt

Úselo bajo su propia responsabilidad, etc... ESTO BORRA COSAS.

Lo ejecuto desde la carpeta Documentos y configuraciones o Usuarios en Vista. Puedes lanzar fácilmente un comando de CD en la parte superior para ejecutarlo desde cualquier lugar que desees.

cd %userprofile%
cd ..

Además, según mi experiencia, generalmente es seguro borrar la carpeta temporal en cualquier momento. Los programas que usan archivos temporales los bloquearán y este script generará un error en ese archivo y continuará.

La línea IF EXIST es particularmente buena aquí, evita que el script cree carpetas en NetworkService y carpetas similares, y si no lo está ejecutando en Vista o XP, esa sección pasa súper rápido.

Crea el archivo de registro temps.txt desde donde ejecuta el script

Editar: Consejo de ##windows-server en Freenode: P: ¿Por qué no detecta en qué sistema operativo se está ejecutando al principio y ejecuta la sección adecuada? R: Utilizo el script con frecuencia en medios fuera de línea, como un disco duro extraído.

Respuesta2

Tenga cuidado al destruir archivos temporales. Algunos instaladores de software guardan archivos allí entre los arranques. Un antiguo jefe mío guardaba archivos importantes allí (pero, claro, no era muy brillante en algunas cosas).

En un archivo por lotes, haga:

DEL /S /Q "%TEMP%\*.*"

Hará lo que quieras. Ejecutarlo como un script de inicio de sesión (o mientras está conectado, en general) borrará el directorio temporal por usuario. Ejecutarlo como un script de inicio (mientras se ejecuta como .DEFAULT) borrará el directorio temporal por máquina.

Tengo un VBScript que ejecuto para limpiar archivos temporales al arrancar y al iniciar sesión según su antigüedad. Es algo que pertenece a un Cliente, por lo que no puedo publicarlo aquí (lo escribí con su dinero), pero es algo que un guionista podría armar en unos minutos para usted.

No conozco ninguna API compatible para limpiar los "archivos temporales de Internet" de IE. Supongo que podrías eliminarlos, pero yo no lo haría.

Respuesta3

El mejorseguroLa forma de limpiar los directorios temporales es con cleanmgr. La desventaja es que debe ejecutar sageset en cada máquina o (y mucho más fácil) crear un archivo ADM con las entradas del registro y usar la política de grupo para enviarlas a los escritorios del cliente. la clave de registro a mirar es: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches

Ver tambiénCómo automatizar la herramienta de limpieza de disco en Windows XP

Respuesta4

¿Por qué no utilizar Ccleaner en su script, ya que ya tiene todas las funciones que necesita? Y luego use Psexec para impulsar su script, que llama a Ccleaner, y luego elimine Ccleaner cuando haya terminado. Puede agregar un archivo .ini que contenga todas las configuraciones que desee en Ccleaner. De esta manera, no tendrás que reinventar la rueda. Se trata de reutilizar.

información relacionada