PDA

Показать полную графическую версию : [решено] удаление всех файлов и подпапок в нескольких папках


alexandri
08-01-2010, 23:50
Ребят помогите плиз написать cmd-файл, чтобы он удалял всё что находится ну например в
%windir%\Temp,
%userprofile%\Local Settings\Temp,
%userprofile%\Local Settings\Temporary Internet Files
%userprofile%Cookies
А то я на диске д: создал кмд файл в нём написал: cd %windir%\temp del /q *, запустил его и на диске д: лишился всех файлов, слава богу, что не всех папок))), файлы то я восстановил, но нафиг мне такое надо))

Anton04
09-01-2010, 00:03
alexandri,

Насколько я понял тебе нужно, чтоб очищалась папка с временными файлами винды? Если так, то есть прекрасная альтернатива в виде небольшой утилиты CLEARTEMP.EXE (пользуюсь с незапамятных времён) и помещения соответствующего ярлыка в автозагрузку или реестр. ;)

А для очищения временных файлов IE есть замечательная галка в самом IE, под названием "Удалять все все файлы из папки временных файлов Интернета при закрытии обозревателя" (или как комбинация с программой CLEARTEMP это перемещение Temporary Internet Files в %temp%).

Зачем же изобретать велосипед!? ;)

alexandri
09-01-2010, 00:20
Э брат, эт конечно всё хорошо, но: во первых это всё нужно сделать на 20 компах, поэтому как-то влом становится на каждом всё повторять, а во вторых это будет только начало скрипта, а на счёт перемещения темпорарей в %temp% эт мне нравится )))

Vsirf
09-01-2010, 02:02
alexandri, можешь посмотреть статью Удаление ненужных файлов и папок после установки ОС (http://oszone.net/6159) , вот например
%windir%\Temp,
%userprofile%\Local Settings\Temp,
%userprofile%\Local Settings\Temporary Internet Files
%userprofile%Cookies »
пишеш в cmd-файл так :

cmdow @ /HID
@echo off

RD /S /Q "%windir%\Temp"
RD /S /Q "%userprofile%\Local Settings\Temp"
RD /S /Q "%userprofile%\Local Settings\Temporary Internet Files"
RD /S /Q "%%userprofile%\Cookies"

EXIT

если что будет непонятно , то можешь еще посмотреть Примеры (http://oszone.net/2765) (пример файл cleanup.cmd )

amel27
09-01-2010, 11:00
пишеш в cmd-файл так »
во избежание удаления очищаемого каталога, перед каждым RD нужно делать этот каталог текущим (CD или PUSHD)

Vsirf
09-01-2010, 13:20
во избежание удаления очищаемого каталога, перед каждым RD нужно делать этот каталог текущим (CD или PUSHD) »
Извините , я просто написал те команды которые мне извесны , а про CD или PUSHD я не знал , спасибо :)

El Sanchez
09-01-2010, 16:12
А для очищения временных файлов IE есть замечательная галка в самом IE, под названием "Удалять все все файлы из папки временных файлов Интернета при закрытии обозревателя" (или как комбинация с программой CLEARTEMP это перемещение Temporary Internet Files в %temp%) »

Для удаления временных файлов Интернет, cookies, истории можно применить команду

RUNDLL32.EXE InetCpl.cpl,ClearMyTracksByProcess 255

Anton04
09-01-2010, 18:54
Э брат, эт конечно всё хорошо, но: во первых это всё нужно сделать на 20 компах,...»

Об этом речи не шло. Каков вопрос таков ответ ;)

поэтому как-то влом становится на каждом всё повторять, а во вторых это будет только начало скрипта, а на счёт перемещения темпорарей в %temp% эт мне нравится ))) »

AD есть? Если да, то так проделать всё через GPO раз плюнуть, а уж каким способом это уже дело десятое, хоть через реестр, хоть с помощью запуска скрипта, хоть через запуск софтины с командами...

alexandri
09-01-2010, 23:08
а что такое - cmdow @ /HID поясните пожалуйста

RUNDLL32.EXE InetCpl.cpl,ClearMyTracksByProcess 255 /s »
Я так понял вы шарите как работать с rundll32.exe, я тоже хочу :) направьте меня пожалуйста туда где это мона почитать
Здесь inetcpl это оснастка свойства оборзевателя, а ClearMyTracksByProcess 255 /s это что такое?

gora
09-01-2010, 23:53
а что такое - cmdow @ /HID поясните пожалуйста »
Вызов утилиты для скрытия окна консоли.как работать с rundll32.exe, я тоже хочу направьте меня пожалуйста туда где это мона почитать »
На заметку. Перечень системных команд. (http://forum.oszone.net/thread-109006.html)

alexandri
10-01-2010, 01:22
а ClearMyTracksByProcess это переменная или команда? 255 что такое? и параметр /s

alexandri
10-01-2010, 11:10
а мой сценарий (если его можно так назвать :)) не сработал из-за того, что не заключил путь в кавычки?
я пробовал в кмд ручками набирал то же самое работало

alexandri
10-01-2010, 11:28
amel27, напиши пожалуйста одну строчку кода для наглядного примера, чтоб я увидел куда нужно вставлять cd. А то исходя из ваших рассуждений прям напрашивается вывод, что вначале пишишь cd потом rd а потом путь, как-то нелогично мне кажется :dont-know

amel27
10-01-2010, 11:40
alexandri, уже было: CMD/BAT - [решено] Батник на очистку TEMP (http://forum.oszone.net/showthread.php?t=158094)

El Sanchez
10-01-2010, 15:41
а ClearMyTracksByProcess это переменная или команда? 255 что такое? и параметр /s »

ClearMyTracksByProcess - имя функции компоненты inetcpl.cpl
255 - аргумент функции (удалить всю историю).
Подробности тут (http://blogs.techrepublic.com.com/window-on-windows/?p=574)
/s - это я перепутал с параметром тихого режима команды regsvr32, нет такого параметра :sorry:

and_mv
11-01-2010, 15:05
Всем привет!
Помогите пожалуйста с bat-файлом.
У меня батник копирует файлы с одной папки "Work" в папку "Archive", без какой либо проверки, т.е. при совпадении имени файла он заменяет файл.

pushd "%Work%\"
FOR /f "tokens=*" %%a IN ('dir /b /a-d') DO (if %%~za LSS 10000 (copy "%%~fa" "%Archive%\"))

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

alexandri
11-01-2010, 23:09
всем спасибки всё заработало. Только команда cd не работает, применил pushd - с ней всё в поряде.
Вот что у меня получилось :
pushd %windir%\temp
RD /s /q %windir%\temp
pushd %temp%
RD /s /q %temp%
pushd "%userprofile%\local settings\Temporary Internet Files"
RD /s /q "%userprofile%\local settings\Temporary Internet Files"
pushd %userprofile%\cookies
RD /s /q %userprofile%\cookies
exit

amel27
12-01-2010, 04:23
RD /s /q %temp% »
В PUSHD/CD путь брать в кавычки не обязательно, а вот в RD очень желательно

команда cd не работает »
попробуй с ключом "CD /D "

amel27
12-01-2010, 05:33
Как сделать проверку, если копируемый файл уже существует в папке Archive, то имя этого файла записывается в текстовый документ. А сам файл в любом случае должен заменяться. »
где-то так:
pushd "%Work%\"
For /F "Delims=" %%a In ('DIR /B/A-D') Do (
If Exist "%Archive%\%%~nxa" Echo %%a >>%Log%
If %%~za LSS 10000 COPY /Y "%%~fa" "%Archive%\"
)




© OSzone.net 2001-2012