Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
propass

Выборка файлов по расширению, упаковка, отправка адресатам, ведение лога, резервное копирование

11.12.2012, 15:02. Показов 2437. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет
Сделал следующий батник
Он ищет в папке файлы aaa0000bbb*.CNG, архивирует их в aaa0000bbb*.zip, отправляет адресату, ведёт лог, ну и бэкап на всякий случай

Bash
1
2
3
4
5
6
7
8
9
10
11
12
SET From=aaa@mail.ru
::SET To=xxx@mail.ru
SET Subj=CSMAIL
SET Body=Packet
SET Smtp_serv=mail.nic.ru
SET User=aaa@mail.ru
SET Pass=aaamailru
 
::адресат bbb 
for /R e:\mail\packet %%i in (aaa0000bbb*.CNG) do e:\mail\7za.exe a -tzip %%~ni.zip %%i & e:\mail\sendemail.exe -f %From% -t [email]bbb@mail.ru[/email] -u %Subj% -m %Body% -s %Smtp_serv% -xu %User% -xp %Pass% -a %%~ni.zip -l log.txt -v & move /Y e:\mail\packet\%%~ni.cng e:\mail\packet_send & echo %date% %time% Отправил в bbb >>e:\mail\log_out.txt
::адресат ccc
for /R e:\mail\packet %%i in (aaa0000ccc*.CNG) do e:\mail\7za.exe a -tzip %%~ni.zip %%i& e:\mail\sendemail.exe -f %From% -t [email]ccc@mail.ru[/email] -u %Subj% -m %Body% -s %Smtp_serv% -xu %User% -xp %Pass% -a %%~ni.zip -l log.txt -v & move /Y e:\mail\packet\%%~ni.cng e:\mail\packet_send & echo %date% %time% Отправил в ccc >>e:\mail\log_out.txt
***************************
Все нормально, он работает. Вопрос в следующем : Адресатов таких как bbb, ccc порядка 40-50 штук
Соответственно батник получается на 2 - 3 листа А4.
Как его сократить и есть ли смысл ? У меня возникла проблема сопоставления имени файла – e-mail адресу клиента т.е. как задать имя переменной «::SET To» для каждого файла.
Добавлять выражение типа
Bash
1
IF exist aaa0000bbb*.cng SET To=bbb@mail.ru  ….GOTO
?
.......
Спрашиваю исключительно из интереса, так как полез в cmd, стало интересно...
Подскажите какой не сложный язык программирования для таких задач можно пробовать осваивать?
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.12.2012, 15:02
Ответы с готовыми решениями:

Ведение лога ошибок, отправка лога на e-mail
подскажите как дописать кусочик. есть vbs фаил,есть запрос , запрос берёт инфу и отправляет на email отчёт надо сделать два лог файла ...

Поиск файлов JPG, переименование и ведение лога размеров изображения
Друзья, прошу помощи! Сам в vbs не силен, а очень нужен для работы скриптик vbs для обработки файлов по следующему алгоритму. 1....

Поиск и копирование файлов по расширению,
Здравствуйте, такая вот проблема: при переустановке windows на Linux mint не уследил за одним моментом и затер все файлы. Там и фотки...

1
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18031 / 7734 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
22.12.2012, 19:37
Да много чего можно делать.
Можно, например, хранить в отдельном файле списочек Email-адресов и файлов в каждой строке с каким-нибуть разделителем, например =
Code
1
2
bbb@mail.ru=0000bbb*.CNG
ccc@mail.ru=0000ccc*.CNG
Затем считывать и подставлять в Ваш цикл:

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SET From=aaa@mail.ru
SET Subj=CSMAIL
SET Body=Packet
SET Smtp_serv=mail.nic.ru
SET User=aaa@mail.ru
SET Pass=aaamailru
 
for /F "tokens=1,2 delims==" %%A in (spisok.txt) do (
  for /R e:\mail\packet %%i in (%%B) do (
    e:\mail\7za.exe a -tzip %%~ni.zip %%i
    e:\mail\sendemail.exe -f %From% -t [email]%%A[/email] -u %Subj% -m %Body% -s %Smtp_serv% -xu %User% -xp %Pass% -a %%~ni.zip -l log.txt -v
    move /Y e:\mail\packet\%%~ni.cng e:\mail\packet_send
    echo %date% %time% Отправил в bbb >>e:\mail\log_out.txt
  )
)
где под %%A %%B - части, которые мы получили, прочитав файл spisok.txt построчно по разделителю =
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.12.2012, 19:37
Помогаю со студенческими работами здесь

Копирование всех файлов по расширению
string extensions = { "*.png", "*.txt", "*.asp" }; foreach (string ext in extensions) { ...

Резервное копирование файлов
Добрый день! Понимаю, что тема обсуждалась уже не раз. Но вопрос такой. как создать баник для резервного копирования папок (сетевой...

Резервное копирование удаляемых файлов
Здравствуйте! Появилась такая задача - копировать удаляемые файлы с сетевой папки на специальный для этого жесткий диск. Т.е. если...

Резервное копирование файлов и папок
В общем есть папка допустим "С:\sara" размер ее 300 и билие гиг. Что нужно : 1 ежедневное копирование всего что там есть в другую...

Копирование файлов из лога с одного диска на другой
Есть лог-файл со списком файлов,к примеру log.txt, внутри к примеру такие файлы: C:\fim\process\trig\Amt1\old\05.2016\11111.jrn ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Киев стоит - украинская песня
zorxor 28.01.2026
wfWdiRqdTxc О Господи, Вечный, Ты . . . Я помоги, Бесконечный. . . Я прошу Ты. . . Я погибаю, спаси. . . Я прошу Тебя Вечный. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru