|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Обнаружение новых файлов в папке |
|
CMD/BAT - [решено] Обнаружение новых файлов в папке
|
Ветеран Сообщения: 992 |
Профиль | Сайт | Отправить PM | Цитировать Имеется папка в которую время от времени падают файлы, и есть скрипт который их обрабатывает (файл и его атрибуты при этом не изменяется, переименовывать/перемещать тоже нельзя). Каждый из файлов нужно прогнать через скрипт только один раз. Имена файлов не повторяются.
Задача, конечно, тупая, но меня, похоже, заклинило. |
|
Отправлено: 18:12, 13-04-2016 |
Ветеран Сообщения: 4242
|
Профиль | Отправить PM | Цитировать Держать файл в который записывать имена уже обработанных файлов.
Что то типа - if not in(файл) bla bla bla |
Отправлено: 18:27, 13-04-2016 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать Создадим где-нибудь служебную папку (лишь бы были там права на запись), будем просматривать ваш инбокс (папка в которую время от времени падают файлы) и по мере обработки в нём файлов будем создавать в служебной папке служебные файла с именами обработанных файлов с добавлением расширения .log для определённости, чтобы не путать с исходными. Если в этой служебной папке уже имеется служебный файл с соответствующим именем, обработку не вызываем.
|
------- Отправлено: 11:59, 14-04-2016 | #3 |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить PM | Цитировать megaloman, моложе. Накапливаются не бесконечно, периодически удаляются все вместе. Но вот удаляются они в довольно рандомное время...
NickM, тоже думал в эту сторону. megaloman, весьма отлично. спасибо. |
Отправлено: 13:01, 14-04-2016 | #4 |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать Elven, Вот еще вариант в сторону NickM
@Echo off cls Set "In=Z:\Papka" Set "Log=Z:\Papka\Log" If Not Exist %Log%\Log.txt ( Md "%Log%" 2>nul Md "%Log%" >"%Log%\Log.txt" 2>nul ) for /f "usebackq Delims=" %%i in (`xcopy /L /EXCLUDE:%Log%\Log.txt "%In%\*.*" "%Log%\" 2^>nul`) Do ( If Exist "%%i" ( Echo %%~i >>%Log%\Log.txt Call :Obrabotka "%%i" ) ) pause GoTo :Eof :Obrabotka Echo %1 Создаём где-нибудь лог-файл (увы, если имя этого файла необходимо взять в кавычки, у меня не получается) и с помощью опции Exclude команды Xcopy получаем список необработанных файлов. Имена обработанных записываем в лог. |
|
------- Последний раз редактировалось megaloman, 14-04-2016 в 21:09. Отправлено: 13:32, 14-04-2016 | #5 |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать Elven, если файлы периодически удаляются все вместе в довольно рандомное время... то в первом решении надо озаботиться тем, чтобы вспомогательные файлы не накапливались бесконечно. Вот первое решение с добавленным куском на синхронизацию имеющихся и вспомогательных файлов.
@Echo off cls Set "In=Z:\Papka" Set "Log=Z:\Papka\Log" Md "%Log%" 2>nul for /f "usebackq Delims=" %%i in (`dir "%In%\*.*" /b /A:-d 2^>nul`) Do ( If Not Exist "%Log%\%%i.log" ( Md "%Log%" >"%Log%\%%i.log" 2>nul Call :Obrabotka "%In%" "%%i" ) ) for /f "usebackq Delims=" %%i in (`dir "%Log%\*.log" /b /A:-d 2^>nul`) Do ( If Not Exist "%In%\%%~ni" Del "%Log%\%%i" ) pause GoTo :Eof :Obrabotka Echo %1 %2 |
------- Отправлено: 13:50, 14-04-2016 | #6 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Копирование новых файлов | Andrey947 | Скриптовые языки администрирования Windows | 3 | 21-03-2016 22:17 | |
PowerShell - [решено] Копирование новых файлов | Ololosh | Скриптовые языки администрирования Windows | 2 | 09-04-2015 10:42 | |
CMD/BAT - Копирование новых файлов | Доктор Ливси | Скриптовые языки администрирования Windows | 1 | 08-11-2010 12:37 | |
Интернет - [решено] Обнаружение новых сетей | Brother Micro | Microsoft Windows 7 | 3 | 11-08-2010 09:36 | |
Появление новых файлов | ummnikk | Хочу все знать | 9 | 26-10-2005 05:32 |
|