Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Поиск и очистка временных файлов по средством BAT

Ответить
Настройки темы
CMD/BAT - Поиск и очистка временных файлов по средством BAT

Новый участник


Сообщения: 12
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изменения
Автор: snow1eopard
Дата: 19-07-2011
имеется файл в автозагрузке, написанный мною для очистки временных файлов, но хотелось бы чистить и все остальное, тот мусор которого в избытке напихано в винде, мог бы кто нибудь помочь по данному вопросу?
Т.е. ищем файлы с определенным расширением по всему диску и удаляем их, можно и забивая перед этим 0 1 0 1 соответсвенно размеру для пущей безопасности, ну это я шучу такое наверное невероятно сложно и долго))))
Сможет кто нибудь помочь?
Вот мой файл, просто чистит каталоги с временными файлами, может кому пригодится, 100% рабочий проверен везде где только можно:
Цитата:
@echo off
set temp1=%homedrive%\WINDOWS\Temp
rd /s /q %homedrive%\WINDOWS\Temp
md %temp1%

set temp2=%temp%
rd /s /q %temp%
md %temp2%

rd /s /q "%homepath%\Local Settings\Temp"
rd /s /q "%homedrive%%homepath%\Local Settings\Temporary Internet Files"
Маски временных файлы предназначенных для поиска и удаления:
*.---; *.#res; *.$db;

Отправлено: 19:04, 19-07-2011

 

Аватара для root221

Старожил


Сообщения: 177
Благодарности: 13

Профиль | Отправить PM | Цитировать


snow1eopard,

Удаляет все файлы с расширением *.---; *.#res; *.$db; в нашем случае в папке и в подкаталогах Temp.
+логирование

Код: Выделить весь код
@echo off
:: Уберёш РЕМ если в пути к файлам имеются русские пути.
rem chcp 1251
::Логи
Set logpath=C:\Log.txt
::Где будем искать ? и удалять
Set Disk=C:\Temp
::Какие расширения?
set Rash=*.---; *.#res; *.$db;
For /R %Disk% %%i In (%Rash%) Do ( 
Del "%%i" 
If Not Exist "%%i" (Echo %time:~0,-3% ^> Файл "%%i" успешно удален.>> "%logpath%")Else (Echo %Time:~0,-3% ^> Файл "%%i" не был удален.>> "%logpath%")
)
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:00, 19-07-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для root221

Старожил


Сообщения: 177
Благодарности: 13

Профиль | Отправить PM | Цитировать


snow1eopard,

И к чему всё так накручено?

Код: Выделить весь код
set temp2=%temp%
 rd /s /q %temp%
 md %temp2%
Когда это можно сделать так

Код: Выделить весь код
 rd /s /q %temp%
 md %temp%

тоже самое

Код: Выделить весь код
set temp1=%homedrive%\WINDOWS\Temp
 rd /s /q %homedrive%\WINDOWS\Temp
 md %temp1%
На

Код: Выделить весь код
set temp1=%homedrive%\WINDOWS\Temp
 rd /s /q %temp1%
 md %temp1%

Отправлено: 22:55, 19-07-2011 | #3


(*.*)


Сообщения: 36561
Благодарности: 6694

Профиль | Сайт | Отправить PM | Цитировать


Явно не первая тема... http://forum.oszone.net/forumdisplay...ilter_by=title

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 23:05, 19-07-2011 | #4


Новый участник


Сообщения: 12
Благодарности: 0

Профиль | Отправить PM | Цитировать


root221 наверное так потому что по правильному не работает)

все работает, офигеть, большущее спасибо!

Отправлено: 00:28, 20-07-2011 | #5


Новый участник


Сообщения: 12
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вот то что получилось, очищает от всего мусора что есть, закинув в автозагрузку ярлык с параметром свернуто имеем всегда чистую систему, аллилуйя
Проверил на своей системе Win7, все работает как надо. На XP не проверял.
Цитата:
@echo off
set temp1=%homedrive%\WINDOWS\Temp
rd /s /q %homedrive%\WINDOWS\Temp
md %temp1%

set temp2=%temp%
rd /s /q %temp%
md %temp2%

rd /s /q "%homepath%\Local Settings\Temp"
rd /s /q "%homedrive%%homepath%\Local Settings\Temporary Internet Files"

chcp 1251

::Логи
Set logpath=C:\Log.txt
::Где будем искать ? и удалять
Set Disk=C:\
::Какие расширения?
set Rash=*.---; *.#res; *.$db; *.*$; *.*~; *.?$?; *.?~?; *.@@@; *._detmp; *._mp; *.~*; *.00*; *.1st; *.bac; *.back*; *.bak; *.bup; *.chk; *.cpy; *.dir; *.dmp; *.err; *.fic; *.fnd; *.ftg; *.fts; *.gid; *.MS; *.nav; *.old; *.prv; *.sdi; *.shd; *.sik; *.syd; *.temp; *.tmp; *.wbk; *.xlk; *__ofidx*.*; *~tmp.*; _istmp*.*; ~*.*; 0*.nch; bootlog.*; brndlo?.txt; chklist.*; ffastun.*; iebak.da?; modemde?.txt; mscreat?.dir; ntbtlo?.txt; pspbrws?.jbf; scandis?.log; setuplo?.txt; suhdlog.*; t3v?????.*; thumb?.db; twain???.mtx; *.___;
REM *log.txt;
For /R %Disk% %%i In (%Rash%) Do (
Del "%%i"
If Not Exist "%%i" (Echo %time:~0,-3% ^> Файл "%%i" успешно удален.>> "%logpath%")Else (Echo %Time:~0,-3% ^> Файл "%%i" не был удален.>> "%logpath%")
)

Отправлено: 01:20, 20-07-2011 | #6


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата snow1eopard:
Код: Выделить весь код
set temp1=%homedrive%\WINDOWS\Temp
rd /s /q %homedrive%\WINDOWS\Temp
md %temp1%
»
Уже обсуждалось, что при «RD + MD» теряются оригинальные атрибуты безопасности удаляемого каталога, и стоит делать иначе: «PUSHD + RD + POPD» — пробежитесь по фильтру из #4.

Отправлено: 05:19, 20-07-2011 | #7


Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


Всё хорошо до поры до времени:
скрипт выполнится на уже загрузившейся системе - в %TEMP% могут оказаться файлы, созданные в текущем сеансе, а не старый мусор
инсталляторы, требующие перезагрузки, тоже круто обломаются с такой автоматизацией
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:29, 20-07-2011 | #8


Новый участник


Сообщения: 12
Благодарности: 0

Профиль | Отправить PM | Цитировать


Все таки обнаружилась проблемка, по расширению воспринимаются не только файлы с таким расширением, но и файлы с более длинным именем и двойным расширением, как можно такое вылечить?

Пример:
Цитата:
microsoft.bak удаляется
microsoft.bakground.exe удаляется тоже
Как сделать что бы жестко по маске удаляло, а не лупило все с бОльшим расширением и что бы не трогало файлы с двойным расширением, если таковых в маске нет.

Отправлено: 11:16, 20-07-2011 | #9


Аватара для ferget

Разный


Сообщения: 1294
Благодарности: 359

Профиль | Отправить PM | Цитировать


что-то вроде этого
Код: Выделить весь код
del/s/q *.txt *.vbs >>1.log

Последний раз редактировалось ferget, 20-07-2011 в 12:32.


Отправлено: 11:46, 20-07-2011 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Поиск и очистка временных файлов по средством BAT

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Блог - Удаление временных файлов скриптом по расписанию Vadikan Microsoft Windows 7 0 26-05-2011 11:30
2007 - Word 2007. Проблема временных файлов Farxat Microsoft Office (Word, Excel, Outlook и т.д.) 3 21-10-2010 09:15
Разное - [решено] Несоответствие размера временных файлов gorill Microsoft Windows 7 6 08-02-2010 05:54
Проблема удаления временных файлов Интернета SAToNA Microsoft Windows 2000/XP 0 15-02-2006 07:31
Вопрос по IE (просмотр временных файлов) silalex Сетевые технологии 2 23-07-2005 08:52




 
Переход