Страница 1 из 1
Очистка заданных каталогов от мусора
Добавлено: Пт дек 23, 2005 18:09
Zorroz
Задача. Нужно чтобы в панели инструментов была кнопка, при нажатии на которую очищались бы следующие каталоги:
d:\z_temp\
e:\z_temp\
Т.е. должно очищаться содержимое этих каталогов, а сами они должны оставаться.
Можно ли решить эту задачку?
[mod="Avada"]Перемещено из Секретов и советов в Автоматизацию.[/mod]
Добавлено: Пт дек 23, 2005 19:38
GeNtlE
Легко с помощью nnCron:
Код: Выделить всё
#( Зачистка
Time: START-TIME
Action:
WITHDIRS
PURGE-OLD: "d:\z_temp\*.*" 3
WITHDIRS
PURGE-OLD: "e:\z_temp\*.*" 3
)#
Здесь при запуске системы удаляются файлы и каталоги в заданных папках, "возраст" которых больше трёх дней. Поставишь 0 - удалятся все файлы из этих папок.
Зачем панель засорять? Если очень нужно именно кнопку, то можно поэкспериментировать со словами Watch*. Кнопкой инициировать некое событие и nnCron'ом отреагировать на него.
Добавлено: Сб дек 24, 2005 04:04
Zorroz
А скрипт или батник не подкинете, а то я не пользуюсь nnCronом.
Добавлено: Сб дек 24, 2005 10:50
Nik
Батник можно написать самому

Проще, наверное, будет сделать так: удаляешь эту папку полностью, а потом создаешь новую...
Добавлено: Сб дек 24, 2005 16:07
Zorroz
2Nik
А можно привести такой батник.
Добавлено: Сб дек 24, 2005 17:54
GeNtlE
Zorroz писал(а):а то я не пользуюсь nnCronом.
А зря...
Вот:
Код: Выделить всё
@echo off
rd d:\z_temp /S /Q
md d:\z_temp
rd e:\z_temp /S /Q
md e:\z_temp
Это - вариант для WinXP (ну и, наверно, для всех NT-подобных систем). Для Win98/ME надо будет заменить
rd на
deltree... И ключи у него другие, на сколько я помню... Там будет что-то вроде
Добавлено: Вс дек 25, 2005 05:07
Zorroz
2GeNtlE
У меня как раз Win98. В батнике пишу:
deltree d:\z_temp –Y
md d:\z_temp
Но он запрашивает у меня разрешение на удаление этой папки. Хотя и стоит ключ «–Y». Я подтверждаю, после чего он удаляет все. А само окно после удаления не закрывается. А как сделать чтобы батник делал все молча и окошко бы закрывалось.
Добавлено: Вс дек 25, 2005 15:25
GeNtlE
Так... где тут моя VMWare?..
Набираем в командной строке
deltree /?, видим - оказывается синтаксис команды такой:
deltree /Y <имя каталога>
В итоге, получаем такой файл:
Код: Выделить всё
@echo off
deltree /Y d:\z_temp
md d:\z_temp
deltree /Y e:\z_temp
md e:\z_temp
А чтобы окно закрывалось, создать ярлык к этому батнику (сам батник можно спрятать куда-нубудь подальше, с глаз долой) и в свойствах ярлыка, на вкладке Программа, отметить флажок "Закрывать окно по завершении сеанса работы" внизу окна.
Добавлено: Вс дек 25, 2005 15:54
Zorroz
Заработало. Спасибо.