Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] удаление всех файлов и подпапок в нескольких папках (http://forum.oszone.net/showthread.php?t=162843)

alexandri 08-01-2010 23:50 1314807

удаление всех файлов и подпапок в нескольких папках
 
Ребят помогите плиз написать 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 1314823

alexandri,

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

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

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

alexandri 09-01-2010 00:20 1314843

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

Vsirf 09-01-2010 02:02 1314912

alexandri, можешь посмотреть статью Удаление ненужных файлов и папок после установки ОС , вот например
Цитата:

Цитата alexandri
%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

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

amel27 09-01-2010 11:00 1315017

Цитата:

Цитата Vsirf
пишеш в cmd-файл так »

во избежание удаления очищаемого каталога, перед каждым RD нужно делать этот каталог текущим (CD или PUSHD)

Vsirf 09-01-2010 13:20 1315102

Цитата:

Цитата amel27
во избежание удаления очищаемого каталога, перед каждым RD нужно делать этот каталог текущим (CD или PUSHD) »

Извините , я просто написал те команды которые мне извесны , а про CD или PUSHD я не знал , спасибо :)

El Sanchez 09-01-2010 16:12 1315291

Цитата:

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

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

RUNDLL32.EXE InetCpl.cpl,ClearMyTracksByProcess 255

Anton04 09-01-2010 18:54 1315488

Цитата:

Цитата alexandri
Э брат, эт конечно всё хорошо, но: во первых это всё нужно сделать на 20 компах,...»

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

Цитата:

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

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

alexandri 09-01-2010 23:08 1315762

а что такое - cmdow @ /HID поясните пожалуйста

Цитата:

Цитата El Sanchez
RUNDLL32.EXE InetCpl.cpl,ClearMyTracksByProcess 255 /s »

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

gora 09-01-2010 23:53 1315807

Цитата:

Цитата alexandri
а что такое - cmdow @ /HID поясните пожалуйста »

Вызов утилиты для скрытия окна консоли.
Цитата:

Цитата alexandri
как работать с rundll32.exe, я тоже хочу направьте меня пожалуйста туда где это мона почитать »

На заметку. Перечень системных команд.

alexandri 10-01-2010 01:22 1315851

а ClearMyTracksByProcess это переменная или команда? 255 что такое? и параметр /s

alexandri 10-01-2010 11:10 1316038

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

alexandri 10-01-2010 11:28 1316046

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

amel27 10-01-2010 11:40 1316052

alexandri, уже было: CMD/BAT - [решено] Батник на очистку TEMP

El Sanchez 10-01-2010 15:41 1316297


Цитата:

Цитата alexandri
а ClearMyTracksByProcess это переменная или команда? 255 что такое? и параметр /s »

ClearMyTracksByProcess - имя функции компоненты inetcpl.cpl
255 - аргумент функции (удалить всю историю).
Подробности тут
/s - это я перепутал с параметром тихого режима команды regsvr32, нет такого параметра :sorry:

and_mv 11-01-2010 15:05 1317237

Всем привет!
Помогите пожалуйста с 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 1317673

всем спасибки всё заработало. Только команда 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 1317798

Цитата:

Цитата alexandri
RD /s /q %temp% »

В PUSHD/CD путь брать в кавычки не обязательно, а вот в RD очень желательно

Цитата:

Цитата alexandri
команда cd не работает »

попробуй с ключом "CD /D "

amel27 12-01-2010 05:33 1317805

Цитата:

Цитата and_mv
Как сделать проверку, если копируемый файл уже существует в папке 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%\"
)



Время: 23:43.

Время: 23:43.
© OSzone.net 2001-