Очистка заданных каталогов от мусора

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Ответить
Аватара пользователя
Zorroz
Сообщения: 308
Зарегистрирован: Чт дек 16, 2004 10:40
Откуда: Россия, Иркутская обл., г. Ангарск

Очистка заданных каталогов от мусора

Сообщение Zorroz »

Задача. Нужно чтобы в панели инструментов была кнопка, при нажатии на которую очищались бы следующие каталоги:

d:\z_temp\
e:\z_temp\

Т.е. должно очищаться содержимое этих каталогов, а сами они должны оставаться.
Можно ли решить эту задачку?

[mod="Avada"]Перемещено из Секретов и советов в Автоматизацию.[/mod]
GeNtlE
Сообщения: 141
Зарегистрирован: Чт дек 16, 2004 12:36
Откуда: Россия, Чита
Контактная информация:

Сообщение GeNtlE »

Легко с помощью nnCron:

Код: Выделить всё

#( Зачистка
Time: START-TIME
Action:
WITHDIRS
PURGE-OLD: "d:\z_temp\*.*" 3
WITHDIRS
PURGE-OLD: "e:\z_temp\*.*" 3
)#
Здесь при запуске системы удаляются файлы и каталоги в заданных папках, "возраст" которых больше трёх дней. Поставишь 0 - удалятся все файлы из этих папок.

Зачем панель засорять? Если очень нужно именно кнопку, то можно поэкспериментировать со словами Watch*. Кнопкой инициировать некое событие и nnCron'ом отреагировать на него.
Аватара пользователя
Zorroz
Сообщения: 308
Зарегистрирован: Чт дек 16, 2004 10:40
Откуда: Россия, Иркутская обл., г. Ангарск

Сообщение Zorroz »

А скрипт или батник не подкинете, а то я не пользуюсь nnCronом.
Аватара пользователя
Nik
Сообщения: 583
Зарегистрирован: Сб янв 01, 2005 13:00
Откуда: Киров
Контактная информация:

Сообщение Nik »

Батник можно написать самому :) Проще, наверное, будет сделать так: удаляешь эту папку полностью, а потом создаешь новую...
Аватара пользователя
Zorroz
Сообщения: 308
Зарегистрирован: Чт дек 16, 2004 10:40
Откуда: Россия, Иркутская обл., г. Ангарск

Сообщение Zorroz »

2Nik
А можно привести такой батник.
GeNtlE
Сообщения: 141
Зарегистрирован: Чт дек 16, 2004 12:36
Откуда: Россия, Чита
Контактная информация:

Сообщение 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... И ключи у него другие, на сколько я помню... Там будет что-то вроде

Код: Выделить всё

deltree d:\z_temp -Y
Аватара пользователя
Zorroz
Сообщения: 308
Зарегистрирован: Чт дек 16, 2004 10:40
Откуда: Россия, Иркутская обл., г. Ангарск

Сообщение Zorroz »

2GeNtlE
У меня как раз Win98. В батнике пишу:

deltree d:\z_temp –Y
md d:\z_temp

Но он запрашивает у меня разрешение на удаление этой папки. Хотя и стоит ключ «–Y». Я подтверждаю, после чего он удаляет все. А само окно после удаления не закрывается. А как сделать чтобы батник делал все молча и окошко бы закрывалось.
GeNtlE
Сообщения: 141
Зарегистрирован: Чт дек 16, 2004 12:36
Откуда: Россия, Чита
Контактная информация:

Сообщение 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
А чтобы окно закрывалось, создать ярлык к этому батнику (сам батник можно спрятать куда-нубудь подальше, с глаз долой) и в свойствах ярлыка, на вкладке Программа, отметить флажок "Закрывать окно по завершении сеанса работы" внизу окна.
Аватара пользователя
Zorroz
Сообщения: 308
Зарегистрирован: Чт дек 16, 2004 10:40
Откуда: Россия, Иркутская обл., г. Ангарск

Сообщение Zorroz »

Заработало. Спасибо.
Ответить