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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Удаление непарных файлов в увеличением в фильтре и отправка по почте через Blat

Ответить
Настройки темы
CMD/BAT - Удаление непарных файлов в увеличением в фильтре и отправка по почте через Blat

Аватара для NemoSUN

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


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

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


В директорий IN приходят файлы вида:
otk4_25_2013-05-23-16-18-27.rar
otk11s1_69_2013-05-24-15-14-51.rar
otk14_74,75_2013-05-24-16-05-30.rar

Они обрабатываются программой и выдаются в папку OUT виде:
ast_totk10_2013-05-27-09-18-47.rar

Входящему otk10s3_78_2013-05-23-15-12-51.rar соответствует выходящий ast_totk10_2013-05-24-09-18-47.rar

Но !!! Входящих файлов может быть меньше чем обработанных - обработка выдаёт количество файлов в соответствии со внутренним общим числом. Просто в каких то выходящих файлах после обработки старая информация.

Нужно удалить непарные в выходящих файлах, т.е те, которым не было соответствия во входящих файлах. Т.е. если не было otk10s3_78_2013-05-23-15-12-51.rar то надо удалить в обработанных ast_totk10_2013-05-24-09-18-47.rar

Здесь при отборе нужно учесть только часть имени - во входящих и исходящих учесть часть букв и цифр, т.е. у файла otk10s3_78_2013-05-23-15-12-51.rar надо учитывать только otk10, а у выходящего ast_totk10_2013-05-24-09-18-47.rar только totk10 и т.д. Остальная часть наименования неважна.

Далее, оставшиеся файлы отправляются вложениями по почте. Каждому файлу соответствует свой мейл и единая тема у всех.

Отправлено: 10:43, 28-05-2013

 

Ветеран


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

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


Код: Выделить весь код
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION

SET IN=E:\IN
SET OUT=E:\OUT

FOR %%I IN ("%OUT%/*") DO (
 FOR /F "tokens=2 delims=_" %%J IN ("%%~nI") DO (
  SET VAR=%%J
  IF NOT EXIST "%IN%\*!VAR:~1!*.rar" (
   DEL "%OUT%\*%%J*.rar"
)))

Отправлено: 16:14, 28-05-2013 | #2



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

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


Ветеран


Contributor


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

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


Georgio, Не совсем корректная работа:

Если имеется файл ast_totk4_траляляляля.rar
Нет файла otk4траляляляля.rar
Есть файл otk45_траляляляля.rar

То файл ast_totk4_траляляляля.rar после работы батника выживет.

Вот что было до работы батника
E:\DDDDDDDDD\In\otk44траляляляля.rar
E:\DDDDDDDDD\Out\ast_totk4_траляляляля.rar
E:\DDDDDDDDD\Out\ast_totk55_траляляляля.rar

Вот что осталось после
E:\DDDDDDDDD\In\otk44траляляляля.rar
E:\DDDDDDDDD\Out\ast_totk4_траляляляля.rar

Проверил ...

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 28-05-2013 в 20:49.

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

Отправлено: 20:39, 28-05-2013 | #3


Ветеран


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

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


Да, действительно, в таких условиях "выживает". Буду искать, как зтого "безобразия" не допускать.

Отправлено: 21:24, 28-05-2013 | #4


Аватара для NemoSUN

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


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

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


megaloman,
в файле otk44траляляляля.rar обязательно будет "_" после otk44. Т.е. в выходящем файле после "заголовка" нет ничего до "_". Потому что файлы приходят с одного, двух, трёх помещений, а отсылается один файл на все помещения одной группы и на одну почту (на первый номерной мейл).

Отправлено: 22:17, 28-05-2013 | #5


Ветеран


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

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


NemoSUN, а как же тогда:
Цитата NemoSUN:
Входящему otk10s3_78_2013-05-23-15-12-51.rar соответствует выходящий ast_totk10_2013-05-24-09-18-47.rar »
?

Отправлено: 22:25, 28-05-2013 | #6


Аватара для NemoSUN

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


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

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


Georgio,
Извиняюсь. Спасибо за замечание.

P.S. Писал второй раз уже со спичками в глазах и с отключенным мозгом....


Так как? Получиться отрезать от otk10s3 s3 ? После otk идут не более 2-х ЦИФР (т.е. все цифры от 1 до 99 - номер комнаты(отдела)).

Отправлено: 08:34, 29-05-2013 | #7


Ветеран


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

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


NemoSUN, буду думать.

Отправлено: 08:50, 29-05-2013 | #8


Аватара для NemoSUN

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


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

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


Georgio,
Благодарю) Буду ждать решения.

И ещё:

Если вместо:
SET IN=E:\IN
SET OUT=E:\OUT

написать так (чтобы не зажимать абсолютный путь):
SET IN=.\IN
SET OUT=.\OUT

Не слишком грубовато ?

Отправлено: 09:10, 29-05-2013 | #9


Ветеран


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

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


Цитата NemoSUN:
Получиться отрезать от otk10s3 s3 ? »
Да, если в зтом месте будет только буква s.


Цитата NemoSUN:
написать так (чтобы не зажимать абсолютный путь):
SET IN=.\IN
SET OUT=.\OUT »
Да хоть так, хоть вот так:
SET IN=IN
SET OUT=OUT


Запускать только придётся из директории с каталогами IN и OUT или с помощью CD /D.


NemoSUN, проверяйте:

Код: Выделить весь код
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION

SET IN=IN
SET OUT=OUT

FOR /F "tokens=2 delims=_" %%I IN ('DIR "%OUT%" /B') DO (
 SET VAR=%%I
 IF NOT EXIST "%IN%\!VAR:~1!_*.rar" (
  IF NOT EXIST "%IN%\!VAR:~1!s*.rar" (
   DEL /F /Q "%OUT%\*!VAR!_*.rar"
)))
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:15, 29-05-2013 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Удаление непарных файлов в увеличением в фильтре и отправка по почте через Blat

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - blat.exe отправка почты через ком.строку weranc Скриптовые языки администрирования Windows 3 29-05-2013 14:20
VBS/WSH/JS - Отправка по почте последнего файла .log, созданного по дате и времени alex_frog Скриптовые языки администрирования Windows 0 03-02-2013 17:32
CMD/BAT - [решено] Копирование файла по расписанию и его отправка по почте LokkyZ Скриптовые языки администрирования Windows 8 03-10-2011 16:49
Отправка файла по почте через контекстное меню vagner_HATE Microsoft Windows 2000/XP 3 27-12-2005 16:02
Отправка файлов по электронной почте grishin dima Хочу все знать 3 06-08-2003 01:10




 
Переход