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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов

Закрытая тема
Настройки темы
Любой язык - [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов

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


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

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


Внимание!


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

Пожалуйста, не создавайте тем с названием "Помогите!" или "Нужна помощь в написании батника". Это и так понятно Заголовок темы должен быть осмысленным.





Исходный вопрос участника
Всех приветствую.
Задача следующая: смотрим в в каталог (например d:\dir\*.*) и если в нем сущетвуют файлы возраст которых более 40 дней, то отправляем email на указанный адрес.
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:17, 01-11-2005

 

Аватара для MonsterMax SPB

Пользователь


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

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


lehha мне не надо всегда и каждый день мне надо периодически а то и вообще один раз.

Отправлено: 10:18, 07-12-2005 | #21



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

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


Аватара для ShaddyR

Железных Дел Мастер


Moderator


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

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


hasherfrog: локальные. В том то и дело - с ФОРом в ДОСе не знаком)
lehha: у меня десяток юзеров. Переменная ЮЗЕРПРОФАЙЛ содержит путь к папке юзера текущей сессии. ОЛЛЮЗЕРС есть оллюзерс, они мне не требуются).
По ходу, имена юзеров, а возможно и путь к папкам, вытаскивается из реестра тем же For'ом. Как?

-------
[FAQ] Как определить аппаратную конфигурацию компьютера и правильно задать вопрос
-------
В благодарность за помощь нажимаем ссылочку "Полезное сообщение" внизу этого самого сообщения (подробнее). Помните: админ конфеты НЕ ПЬЁТ ;)
-------
Говори, что думаешь и думай, что говоришь! (c) || МОЙ ShaddyR.at.UA/blog - Как поменять термопасту за 100+ баксов


Отправлено: 10:45, 07-12-2005 | #22

lehha


Сообщения: n/a

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


ShaddyR
а может попробовать whs у него возможностей поболее будет и выглядеть будет это примерно так:
Код: Выделить весь код
Dim fso, f, f1, fc, s 
    Set fso = CreateObject("Scripting.FileSystemObject") 
    Set f = fso.GetFolder("c:\\Documents and Settings\\")
     Set fc = f.SubFolders
     For Each f1 in fc 
       s = s & f1.name  
       s = s & CHR(10) 
    Next  
   s = s & "Всего папок: " & fc.Count  WScript.Echo s
Вот простой скриптик переберающий все папки в документс энд сетингз. Сохрани его с расширением vbs и перебирай все что угодно

Отправлено: 11:31, 07-12-2005 | #23


Аватара для ShaddyR

Железных Дел Мастер


Moderator


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

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


lehha: tnx. Но нужен БАТовский скрипт, по нескольким причинам. При большом желании можно и на ДЕЛЬФИях напрограммить, это как раз не есть проблема)

-------
[FAQ] Как определить аппаратную конфигурацию компьютера и правильно задать вопрос
-------
В благодарность за помощь нажимаем ссылочку "Полезное сообщение" внизу этого самого сообщения (подробнее). Помните: админ конфеты НЕ ПЬЁТ ;)
-------
Говори, что думаешь и думай, что говоришь! (c) || МОЙ ShaddyR.at.UA/blog - Как поменять термопасту за 100+ баксов


Отправлено: 11:44, 07-12-2005 | #24

lehha


Сообщения: n/a

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


сделай Пуск->Выполнить->cmd
набери help for на сколько я понял for может обробатывать строки других команд т.е. он вполне может обработать Dir ))

Отправлено: 11:56, 07-12-2005 | #25


Аватара для hasherfrog

Старый параноик


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

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


Код: Выделить весь код
c:
cd "Documents and Settings"
for /d %i in (*) do echo %i
Внутри батника будет ещё дополнительный %

Отправлено: 16:01, 07-12-2005 | #26


Аватара для ShaddyR

Железных Дел Мастер


Moderator


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

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


Готово!
Привожу полученный результат:
Основной БАТ-файл
Код: Выделить весь код
@echo off
cls
for /f "usebackq delims==" %%i in (`"dir "%systemdrive%\Documents and Settings" /ad /b"`) do call clr.bat "%%i"
echo Ok
pause
Вспомогательный (собсно, подпрограмма обработки)
Код: Выделить весь код
@echo off
IF EXIST "%systemdrive%\Documents and Settings"\%1"\Application Data\Microsoft\Internet Explorer\Quick Launch" goto clear
echo Skipped: %1
goto exit
:clear
rd /s /q "%systemdrive%\Documents and Settings"\%1\"Local Settings\Temporary Internet Files"
md "%systemdrive%\Documents and Settings"\%1\"Local Settings\Temporary Internet Files" 
rd /s /q "%systemdrive%\Documents and Settings"\%1\"Local Settings\Temp"
md "%systemdrive%\Documents and Settings"\%1\"Local Settings\Temp"
echo Cleared: %1
 
:exit
Пришлось поразбираться с хелпом, малость вспомнить DOS. Спасибо всем, особенно hasherfrog и lehha.
ЗЫ: Для тех, кому влом разбираться в коде - первый bat-файл перебирает все папки по пути
Код: Выделить весь код
СистемныйДиск:\Documents and Settings\
и каждую из найденых папок последовательно передает во второй bat-файл. Задача второго - при наличии в переданной папке
(путь тот же) папки Temp[orary Internet Files] очистить и ту и другую.
Примечания:
1) используемые в данный момент файлы удалены не будут
2) Касперский так разнервничался в процессе - еле успокоил его

ЗЗЫ:
hasherfrog : С пол-часа пытался понять, почему систему так удивляет %i )))
Цитата:
В пакетных файлах для команды FOR используется запись %%переменная вместо
%переменная.

-------
[FAQ] Как определить аппаратную конфигурацию компьютера и правильно задать вопрос
-------
В благодарность за помощь нажимаем ссылочку "Полезное сообщение" внизу этого самого сообщения (подробнее). Помните: админ конфеты НЕ ПЬЁТ ;)
-------
Говори, что думаешь и думай, что говоришь! (c) || МОЙ ShaddyR.at.UA/blog - Как поменять термопасту за 100+ баксов


Последний раз редактировалось ShaddyR, 09-12-2005 в 13:25.

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:31, 07-12-2005 | #27


Аватара для hasherfrog

Старый параноик


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

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


ShaddyR, знаете, Вы поосторожнее только.
1. В 9х-виндах у FOR не совсем такие ключи, как в 2000-х.
2. Обратите внимание на то, что директория создаётся от имени... кого? Админа? А что скажет винда юзеру на такой финт: у него в хоуме лежит... оба-на... админская директория? Может быть, ниего страшного и нет, впрочем. Но я бы сделал рекурсивное удаление содержимого директории, но не самой директории с её последующим восстановлением. Ну, впрочем, проверяйте. на FAT32-дисках, ЕМНИП, разницы никакой не будет.

до кучи: ставьте по возможности firefox последний, там есть плагин специально для удаления всего "личного" барахла прямо на выходе из браусвера. впрочем, это я так, до кучи...

Отправлено: 20:44, 07-12-2005 | #28

lehha


Сообщения: n/a

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


hasherfrog
на сколько мне извесно директория с профилями прльзователей т.е. Documents and Settings есть ток на системах от win2000, так что кусок это кода
Код: Выделить весь код
IF EXIST "%systemdrive%\Documents and Settings"\%1\"Local Settings\Temporary Internet Files"
echo Skipped: %1
goto exit
.
.
.
.


:exit
скажет все сам за себя) это я на счет выполнения скрипта на 9х системах ))

Отправлено: 08:05, 08-12-2005 | #29


Аватара для ShaddyR

Железных Дел Мастер


Moderator


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

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


обновил код обработчика в предыдущем посте - теперь проверка делается по наличию QuickLaunch'а, которого у сервисных папок просто не существует Это если кому-нить с какого-нить перепугу эта самоделка пригодится.

ЗЫ: понраилось вошкаться с BAT-ом... на основе вышеозначенного скрипта сделал скрипт для использования каждым юзером собственной конфигурации TotalCommander'a. Могу поделиться, коли кто желает.

-------
[FAQ] Как определить аппаратную конфигурацию компьютера и правильно задать вопрос
-------
В благодарность за помощь нажимаем ссылочку "Полезное сообщение" внизу этого самого сообщения (подробнее). Помните: админ конфеты НЕ ПЬЁТ ;)
-------
Говори, что думаешь и думай, что говоришь! (c) || МОЙ ShaddyR.at.UA/blog - Как поменять термопасту за 100+ баксов


Отправлено: 13:30, 09-12-2005 | #30



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - [решено] VBS/WSH. Сортировка файлов по дате. rancid Скриптовые языки администрирования Windows 3 23-07-2009 06:38
[решено] Как с помощью CMD(BAT) запустить запароленный sfx архив! ofcoss Автоматическая установка приложений 7 10-07-2009 00:41
CMD/BAT - [решено] Нужна помощь в создании bat-ника для распаковки и переименования файлов/папок Nun-Nun Скриптовые языки администрирования Windows 6 14-05-2009 15:45
Нужна снова ваша помощь в написании интересного скрипта Magnus Вебмастеру 2 09-06-2005 20:26
Нужна помощь в написании скрипта Magnus Вебмастеру 7 06-05-2005 10:53




 
Переход