Я ищу хороший пакетный скрипт, который бы быстро нашел и очистил все известные безопасные временные папки / файлы с компьютеров Windows (как можно больше вариантов) (например, временная папка Windows, временные папки всех пользователей IE и т. Д.). Мне нравятся инструменты пользовательского интерфейса, такие как CCleaner (вместо Cleanmgr.exe), но когда я пытаюсь очистить несколько компьютеров быстро и / или с минимальным участием, было бы неплохо иметь скрипт.
Кроме того, со сценарием я мог связать несколько сценариев вместе. Может быть, для запуска различных детекторов антивирусов и / или вредоносных программ.
У кого-нибудь есть хороший или может указать на хороший ресурс?
Вот небольшой скрипт, который я написал и храню на моем 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
Используйте на свой страх и риск и т. Д. ЭТО УДАЛЯЕТ МАТЕРИАЛЫ.
Я запускаю это из папки «Документы и настройки» или «Пользователи» в Vista. Вы можете легко запустить команду CD наверху, чтобы запустить ее из любого места.
cd %userprofile%
cd ..
Кроме того, по моему опыту, как правило, безопасно очистить временную папку в любое время. Программы, использующие файлы в temp, заблокируют их, и этот сценарий выдаст ошибку в этом файле и продолжит работу.
Строка IF EXIST здесь особенно хороша, она не позволяет скрипту создавать папки в NetworkService и подобных папках, и если вы не запускаете его в Vista или XP, этот раздел проходит очень быстро.
Создает файл журнала temps.txt, где бы вы ни запускали скрипт из
Изменить: Совет от ## windows-server на Freenode: Q: Почему вы не определяете, на какой ОС он работает, в начале и не запускаете соответствующий раздел? О: Я часто использую сценарий на автономных носителях, таких как извлеченный жесткий диск.
Лучший сейф способ очистки временных каталогов - cleanmgr. Обратной стороной является то, что вам нужно либо запускать sageset на каждой машине, либо (что гораздо проще) создать файл ADM с записями реестра и использовать групповую политику для их распространения на клиентские рабочие столы. ключ реестра, на который следует обратить внимание: HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ VolumeCaches
Смотрите также Как автоматизировать инструмент очистки диска в Windows XP
Будьте осторожны при удалении временных файлов. Некоторые установщики программного обеспечения хранят файлы там между загрузками. Один мой старый начальник хранил там важные файлы (но в некоторых вещах он был не слишком умен).
В пакетном файле выполните:
DEL /S /Q "%TEMP%\*.*"
Буду делать то, что хочешь. Запуск этого как сценария входа в систему (или во время входа в систему в целом) очистит временный каталог для каждого пользователя. Запуск его в качестве сценария запуска (при запуске как .DEFAULT) очистит временный каталог для каждой машины.
У меня есть VBScript, который я запускаю для очистки временных файлов при загрузке и при входе в систему в зависимости от их возраста. Это что-то, что принадлежит Заказчику, поэтому я не могу опубликовать это здесь (написал на их копейке), но это то, что сценарист мог бы собрать для вас за несколько минут.
Я не знаю поддерживаемого API для очистки «временных файлов Интернета» IE. Полагаю, вы могли бы просто удалить их, но я бы не стал.
Вы все слишком усложняете задачу. Он спрашивает о Windows XP. Вот несколько полезных:
DEL /Q /S "%USERPROFILE%\Local Settings\Temp\*.*"
DEL /F /Q /S "%USERPROFILE%\Local Settings\Temporary Internet Files\*.*" >NUL
DEL /F /Q /S "%WinDir%\Temp\*.*"
Почему бы просто не использовать Ccleaner в своем скрипте, поскольку он уже имеет все необходимые функции. Затем используйте Psexec для отправки вашего скрипта, который вызывает Ccleaner, а затем удалите Ccleaner, когда закончите. Вы можете добавить файл .ini, содержащий все необходимые настройки в Ccleaner. Таким образом, вам не придется изобретать велосипед. Все дело в повторном использовании.
Я лучше удалю файлы, чем папку на XP; потому что у нас есть приложение, которое хранит МНОГО временных файлов и оставляет их там. Я хочу удалить файлы во всех профилях пользователей.
FOR /F "tokens=1" %%G IN ('DIR /B /AD "c:\documents and settings"') DO IF EXIST "c:\documents and settings\%%G\Local Settings\Temp\" (del "c:\documents and settings\%%G\local settings\temp\*.*"/Q)