Sinclair83
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору wolf0425, извините. выпал из темы. Цитата: exit /b - это возвращение из подпрограммы (call:copy) для продолжения цикла. | этого момента я не знал. воспринимал буквально как выход. теперь прояснилось. Цитата: индивидуальные счетчики там нафиг не сдались, достаточно отсчитать 20 от последнего изменения. | напрасно. Ведь по Вашей логике, если в течении 20 внешних циклов в CAT1 ничего нового не появилось, либо ничего из уже существующего не изменилось в бОльшую сторону, то завершение работы, иначе все по-новой. НО ... если допустим на 19 цикле в "источник" кАпнул новый файлик, то он своим появлением обнуляет общий для всех файлов счетчик и опять 20 сверок. Все бы хорошо, НО уже существующие до "прибытия" нового файлика, и возможно успешно прошедшие 20 циклов сравнения в CAT1 файлы, начнут сравниваться вновь. Условия работы: батник запускается один раз и молотит, пока принудительно не остановишь. След-но вместо exit пишем set "count=1" и goto _start Цитата: если файлов там в каталоге не тысячи... | нет не тысячи, а около 100 за день и общим объемом до 10 Мегабайт. Действительно, наверное проще лишний раз сравнить их все, учитывая их кол-во и размер, вместо того, чтобы городить условия. Больше времени угрохается на проверки всех условий, чем лишний раз все сравнить заново. Для моих целей будет достаточно. Небольшая ошибочка у Вас вышла, а точнее опечатка. В секции :_compare необходимо записать так: if %count% GEQ 1. Ведь в :_nofiles Вы же не записали if %count% < 20 goto _start . и тогда все замечательно работает. Кстати, почему метку пишете через "_"? или такой почерк? wolf0425, еще раз выражаю благодарность Вам за поправки, наставления на путь истинный, а главное за комментарии. |