Форум программистов, компьютерный форум, киберфорум
VBScript/JScript/WSH/WMI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 23.03.2019
Сообщений: 13

Как средствами windows реализовать алгоритм горячей папки?

23.03.2019, 23:33. Показов 2448. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Достаточно просто реализовал это дело на mac os в automator + AppleScript. После понял, что все же необходимо под windows. Задача следующая:

1) Нужно мониторить папку (А).
2) При появлении в ней файла(ов)подождать N секунд, после чего копировать их все в другую папку(B);
3) Запускать (если запущена, перемещать фокус) на стороннее ПО. В него отправить сочетание клавиш.
4) удалить содержимое папки(A), но только те файлы, что были скопированы в последний раз в (B). Если появились новые в (А) - новые оставить.
5) при появлении новых в папке (А) повторить цикл.


Как такое реализуется средствами скриптов под windows?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.03.2019, 23:33
Ответы с готовыми решениями:

Как каталогизировать папки средствами JS ?
Имеется папка с множеством вложенных папок разных уровней вложения и файлы в каждой из них. Необходимо методами JS разместить в каждой...

Как средствами simulink реализовать RC-цепь
Подскажите пожалуйста,как средствами simulink реализовать RC-цепь??

Как реализовать динамическую таблицу средствами WPF?
Всем доброго дня. Возникла потребность сделать средствами WPF довольно сложную динамическую таблицу, на вроде такого. Я далеко не...

25
6987 / 2877 / 1107
Регистрация: 06.06.2017
Сообщений: 9,772
24.03.2019, 00:24
ApenDover
Скриптовых средств под Windows существует немало, чтобы односложно отвечать с позиции "как".
Есть средства встроенные, есть сторонние. Если говорить о первых в рамках данного раздела, 1-3 пункты делаются с привлечением WMI.
3) Что за приложение? Какое сочетание, и что оно реализует?
0
0 / 0 / 0
Регистрация: 23.03.2019
Сообщений: 13
24.03.2019, 10:44  [ТС]
FlasherX, Любыми встроенными средствами. Мне более знаком VBS или powershell
Приложение: photoshop
Сочетание: control+alt+a потом enter

Запускает макрос, забирает файлы из папки и выводит уже в третью, независимую от скрипта. Скрипт просто должен удалить задействованные.
Нагуглить команду отслеживания папки не получилось (
0
6987 / 2877 / 1107
Регистрация: 06.06.2017
Сообщений: 9,772
24.03.2019, 13:18
ApenDover, "запускает макрос" — не ответ. Сам макрос что делает? Уж, наверно, не "забирает файлы из папки и выводит уже в третью"?
0
0 / 0 / 0
Регистрация: 23.03.2019
Сообщений: 13
24.03.2019, 13:50  [ТС]
FlasherX, Вообще, честно говоря именно это он и делает, если глобально относительно скрипта. Так то просто накладывает заданные действия на изображения, забитые под конкретное сочетание клавиш. Они могут быть любыми.

Мне нужно только наличие файлов в папке и после обращение к PS с сочетанием клавиш. Дальше это настраивается под любую задачу..

Почему находите выжными сами действия внутри программы?
0
6987 / 2877 / 1107
Регистрация: 06.06.2017
Сообщений: 9,772
24.03.2019, 14:02
ApenDover, что значит "глобально"? Фотошоп — это не файловый менеджер, а прежде всего обработчик изображений. Поэтому ответ "просто накладывает заданные действия на изображения" в данном случае от предыдущего мало чем отличается.
Действия нужны для оценки на альтернативность вариантов без прибегания к ненадёжным манипуляциях с окнами и хоткеями.
0
0 / 0 / 0
Регистрация: 23.03.2019
Сообщений: 13
24.03.2019, 14:08  [ТС]
FlasherX, понял.

Файлы рассматриваю raw. Фотошоп их открывает в camera raw автоматически применяя пресет выставленный по умолчанию. Идет достаточно приличная обработка, после чего происходит resize и экспорт в jpg в независимую папку. В photoshop есть автоматизация batch, в которой нет функции запуска по горячей папке. Запускается разово и все имеющиеся в папке файлы прогоняет по заданному макросу. Всвязи с этим решил пойти предложенным выше путем. Реализовал под mac os. Алгоритм рабочий.

Горячей клавишей соответственно вызывается функция автоматизации, с уже заранее выставленными настройками. Подтверждается enter.
0
6987 / 2877 / 1107
Регистрация: 06.06.2017
Сообщений: 9,772
24.03.2019, 14:37
ApenDover, для обработки вы рассматривали консольные программы от ImageMagick, GraphicsMagick или NConvert?
0
0 / 0 / 0
Регистрация: 23.03.2019
Сообщений: 13
24.03.2019, 14:38  [ТС]
FlasherX, не рассматривал. Конвертация raw, с наработанными тонко настроенными пресетами, включая работу с кривыми, повышением резкости, коррекцией цветого профиля и прочее с дальнейшим легким переключением пресета по умолчанию на другой. Не уверен что все это легко реализуется в подобных ПО. Рассматривал lightroom как альтернативу, но там все еще более не удобно. Фотошоп в этом плане идеальный вариант.
0
6987 / 2877 / 1107
Регистрация: 06.06.2017
Сообщений: 9,772
24.03.2019, 14:40
Цитата Сообщение от ApenDover Посмотреть сообщение
Не уверен что все это легко реализуется в подобных ПО.
Лёгкость приходит с практикой. Подогнать команды Magick под пресеты при желании можно.
0
0 / 0 / 0
Регистрация: 23.03.2019
Сообщений: 13
24.03.2019, 14:44  [ТС]
FlasherX, Как и полностью заменить фотошоп как редактор imagemagic-ом

В конкретном случаи нужна реализация с PS. В предложенном мной алгоритме есть какие-то серьезные подводные камни?
0
6987 / 2877 / 1107
Регистрация: 06.06.2017
Сообщений: 9,772
24.03.2019, 14:47
ApenDover, запуск фотошопа с отправкой сочетания без полной загрузки всех модулей вряд ли приведёт к рабочему результату.
0
0 / 0 / 0
Регистрация: 23.03.2019
Сообщений: 13
24.03.2019, 14:50  [ТС]
FlasherX, Верно. Поэтому фотошоп будет висеть уже загруженным.

Запускаю фотошоп - далее начинают поступать "на горчую" файлы в папку. Обработка займет несколько секунд - соответственно в скрипте delay, после идет удаление этого кол-ва задействанных файлов. Если за это время пришли новые - скрипт ждет завершение прошлого цикла, после запускается вновь. Флаг какой-то поставить для определения этого момента.


Допустим 5 файлов пришли за N секунд. Запускается скрипт. Пока скрипт выполняется пришли еще 7 файлов. Скрипт скопировал 5 файлов в другую папку. Ждет появления в папке из под фотошопа всех 5 файлов. Как только они появились - значит PS отработал. Те 5 удалил, остались новые 7. Можно запускать следующий цикл из 7 файлов. И так по кругу.
0
6987 / 2877 / 1107
Регистрация: 06.06.2017
Сообщений: 9,772
24.03.2019, 15:09
ApenDover, очень ненадёжный механизм, т.к. скрипт не сможет понять, какие файлы были уже обработаны, чтобы их удалять (лучше перемещать). Нужен какой-то маркер. Например, время модификации, если оно с обработкой меняется.
0
0 / 0 / 0
Регистрация: 23.03.2019
Сообщений: 13
24.03.2019, 15:25  [ТС]
FlasherX, понимаю о чем вы говорите. Для этого предлагаю такое решение: мы все равно копируем все содержимое этой папки в другую. Как только поступили файлы в папку - скрипт запускается. Ждет N секунд, в папке скапливаются какое-то количество файлов. Скрипт их все копирует и запоминает это число файлов. Сразу же параллельно запуская действия в фотошопе. Фотошоп выполнив все операции экспортирует это кол-во файлов в третью папку. Когда в этой папке число файлов увеличилось на ту же цифру, сколько было скопировано скриптом - это флаг, что фотошоп закончил. Удаляем эти файлы из горячей папки. Если за эти секунды успели придти еще 1-2 файла их дата создания будет позже, чем последний файл из прошлого стека. Так можно понять, какие точно файлы удалять из папки (хотя их можно просто сравнить с теми скопированными в прошлой операции).

Так же у всех файлов уникальное название, можно сверять по имени, еще как вариант

Добавлено через 6 минут
FlasherX, А еще больше упрощает все это уточнениее, что название файлов конкретно и увеличивается по счетчику i=i+1
0
6987 / 2877 / 1107
Регистрация: 06.06.2017
Сообщений: 9,772
24.03.2019, 15:33
Цитата Сообщение от ApenDover Посмотреть сообщение
Фотошоп выполнив все операции экспортирует это кол-во файлов в третью папку.
Это всегда без участия макроса происходит? Тогда не проще сделать симлинк на эту папку?
0
0 / 0 / 0
Регистрация: 23.03.2019
Сообщений: 13
24.03.2019, 15:36  [ТС]
FlasherX, экспорт из фотошопа делает сам фотошоп, макрос, который я прошу помочь мне написать только запускает этот процесс и отслеживает файлы в горячей папке.

что такое симлинк?
0
6987 / 2877 / 1107
Регистрация: 06.06.2017
Сообщений: 9,772
24.03.2019, 15:49
Лучший ответ Сообщение было отмечено ApenDover как решение

Решение

ApenDover, симлинк — это символическая ссылка.
Выполнив команду (вместо /D можно /J):
Windows Batch file
1
mklink /D D:\симлинк C:\имя_папки
В папке-ссылке D:\симлинк будет отображена структура C:\имя_папки. Удаление внутренностей будет затрагивать источник.
0
0 / 0 / 0
Регистрация: 23.03.2019
Сообщений: 13
24.03.2019, 15:54  [ТС]
FlasherX, вероятно проще сделать симлинк на эту папку )
0
6987 / 2877 / 1107
Регистрация: 06.06.2017
Сообщений: 9,772
24.03.2019, 16:02
ApenDover, т.е. остаётся только мониторить папку на удаление в случае появление одноимённых файлов в одной из двух других?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.03.2019, 16:02
Помогаю со студенческими работами здесь

DataGridView и фильтрация данных. Как реализовать средствами VB.net?
Доброго времени суток, коллеги! На форме DataGridView с заполненными данными. Столбец 0 - названия фруктов (названия уникальные,...

Что требуется для организации шлюза интернет средствами FreeBSD и как это реализовать
Добрый день. Прошу не пинать меня за столь дилетантское письмо. Мне требуется ваше руководство и направление. Все время имел дело с...

Как реализовать загрузку огромной папки через клиент?
Здравствуйте, дорогие форумчане. Я программист-самоучка, а вообще занимаюсь дизайном. Так вот, мне нужно сделать в программе на С# что-то...

Как реализовать чтение txt файлов из папки по порядку?
Здравствуйте!Как реализовать чтение txt файлов из папки по порядку? Т.е. к примеру у меня есть папка1 в папке assets.В этой папке1...

Как реализовать ссылку на скачивание документов с папки в корпоративной сети?
Проблема состоит в том что есть папка в которую скидуют файли (PDF, DOC и другие) и нужно как-то сделать ссылку на эту папку, так что бы по...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru