Удалить временные файлы из пакетного скрипта в XP

Удалить временные файлы из пакетного скрипта в XP

Я ищу хороший пакетный скрипт, который быстро найдет и очистит все известные безопасные временные папки/файлы с машин Windows (как можно больше вариантов) (например, временную папку Windows, временные папки IE всех пользователей и т. д.). Мне нравятся инструменты пользовательского интерфейса, такие как CCleaner (через Cleanmgr.exe), но когда я пытаюсь очистить несколько компьютеровбыстро и/или с минимальным участием, было бы неплохо иметь сценарий.

Плюс с помощью скрипта я мог бы связать несколько скриптов вместе. Возможно, один для того, чтобы затем запустить различные антивирусы и/или детекторы вредоносного ПО.

У кого-нибудь есть хороший вариант или кто-нибудь может указать на хороший ресурс?

решение1

Вот небольшой скрипт, который я написал и храню на своем USB-накопителе... ОТЛИЧНО подходит для серверов Citrix :)

@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

Используйте на свой страх и риск и т. д. ЭТО УДАЛЯЕТ МАТЕРИАЛЫ.

Я запускаю это из папки Documents and Settings или Users в Vista. Вы можете легко добавить команду CD наверх, чтобы запустить это из любого места, где захотите.

cd %userprofile%
cd ..

Кроме того, по моему опыту, обычно безопасно очищать папку temp в любое время. Программы, использующие файлы во temp, будут блокировать их, а этот скрипт выдаст ошибку на этом файле и продолжит работу.

Строка IF EXIST здесь особенно хороша, она не дает скрипту создавать папки в NetworkService и подобных папках, и если вы не запускаете его на Vista или XP, этот раздел выполняется очень быстро.

Создает файл журнала temps.txt, где бы вы ни запускали скрипт

Редактировать: Совет от ##windows-server на Freenode: В: Почему вы не определяете, на какой ОС он работает, в начале и не запускаете соответствующий раздел? О: Я часто использую скрипт на офлайн-носителях, таких как извлеченный жесткий диск.

решение2

Будьте осторожны с удалением временных файлов. Некоторые установщики программ прячут файлы там между загрузками. Мой старый босс хранил там важные файлы (но, с другой стороны, он не был слишком умен в некоторых вещах).

В пакетном файле выполните:

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

Сделает то, что вы хотите. Запуск его как сценария входа (или при входе в систему, в общем случае) очистит временный каталог пользователя. Запуск его как сценария запуска (при запуске как .DEFAULT) очистит временный каталог компьютера.

У меня есть VBScript, который я запускаю для очистки временных файлов при загрузке и входе в систему в зависимости от их возраста. Это то, что принадлежит Клиенту, поэтому я не могу разместить его здесь (написал его за его счет), но это то, что скриптер может собрать для вас за несколько минут.

Я не знаю поддерживаемого API для очистки IE "Temporary Internet Files". Вы могли бы просто удалить их, я полагаю, но я бы не стал этого делать.

решение3

Лучшеебезопасныйспособ очистки временных каталогов — с помощью cleanmgr. Недостаток в том, что вам придется либо запускать sageset на каждой машине, либо (что гораздо проще) создать файл ADM с записями реестра и использовать групповую политику для их распространения на клиентские рабочие столы. Ключ реестра, на который нужно обратить внимание: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches

Смотрите такжеКак автоматизировать средство очистки диска в Windows XP

решение4

Почему бы просто не использовать Ccleaner в вашем скрипте, поскольку он уже имеет все необходимые вам функции. А затем использовать Psexec для отправки вашего скрипта, который вызывает Ccleaner, а затем удалить Ccleaner, когда закончите. Вы можете добавить файл .ini, который содержит все настройки, которые вы хотите в Ccleaner. Таким образом, вам не придется изобретать велосипед. Все дело в повторном использовании.

Связанный контент