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

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

Ответить
Настройки темы
CMD/BAT - Сравнение конечного количества файлов с начальным

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


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

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


Добрый день. я написал батник который обрабатывает файлы , после каждой обработки у файла появляется опроеделенный префикс соответвующий этапу обработки, если в какой то момент произошла ошибка обработки то он уже не поулчит нужный префикс и соответвенно не будет учавствовать в последующей обработки и в конце файлов которые прошли несколько ступеней обработки может быть меньше чем начальное количество. соответвсенно у меня вопрос как получить список тех файлов которые есть в начале но которых нет в конце обработки.
я так понимаю что начале можно записать файлы в лог
Код: Выделить весь код
set log=%CD%\logfile.log
for /f "delims=" %%d in ('dir/b/od "%FILEPATH%\%FILEMASK0%"') do (>>%log% echo %%~nd )
а дальше что нужно делать?

Отправлено: 15:35, 13-12-2016

 

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


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

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


попробовал скрипт от megaloman пишет "puandau1.scr": Can't find file.
на счет скрипта от alpap , я не совсем понял куда его подставлять

попробовал впихнуть обработку на ошибки в scr файл, но консоль автокада никак не хочет обрабатывать ошибки. в автокаде все срабатывает ,а вот консоль просто игнорирует обработку ошибок.

я понял что обрабатывать тип ошибки не нужно, если она возникла то лечится одним путем. поэтому лог файл не нужен и промежуточные не нужны. те которые не прошли их исходники в папку error , те которое прошли в папку out

Отправлено: 23:36, 21-12-2016 | #21



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

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


Ветеран


Contributor


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

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


Цитата Русская народная сказка:
Жил был царь, у царя был двор, во дворе был кол, на колу - мочало. Не начать ли нам сказку сначала?
То есть, вернёмся к постановке задачи. Осознайте, пожалуйста, что ни у кого нет Ваших реальных файлов для обработки, скорее всего, мало у кого из участников обсуждения имеется AutoCad и сомневаюсь, что подавляющее число жителей вселенной знают, как работает утилита accoreconsole.exe. Поэтому я могу только моделировать её работу (для этого у меня есть батник, преобразующий имена файлов в соответствии с описанным Вами алгоритмом и который Вам совершенно неинтересен и который в приводимом для Вас решении я всегда отключаю).
До сих пор обсуждались файлы .dwg. Как оказалось, во время обработки они получают префиксы и на каком-то шаге имеют другое расширение. Откуда берутся файлы puandau1.scr, todxf.scr", todwg.scr, puandau2.scr" и где они должны располагаться, Вы до сих пор не говорили. Я предположил, что они - результат работы утилиты. Опишите, как проходит обработка, какие файлы при этом участвуют, получаются, и где они должны располагаться. Иначе, читаем русскую народную сказку.

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

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

Отправлено: 09:40, 22-12-2016 | #22


Ветеран


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

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


Ну, то, что:
Цитата composter:
поэтому лог файл не нужен и промежуточные не нужны. те которые не прошли их исходники в папку error , те которое прошли в папку out »
наконец-то осознано — уже колоссальный прогресс. Лучше поздно, чем никогда.

Отправлено: 10:02, 22-12-2016 | #23


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


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

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


изначально у меня есть батник в папке и исполняемые файлы для автокадовской консоли : puandau1.scr, todxf.scr, todwg.scr, puandau2.scr(располагаются там же где и батник)
я скидываю в эту же папку dwg и dxf файлы, которые будут обрабатываться.
так как после некоторых обработок файлов появляется файл с новым расширением dwg и dxf (в зависимости от скрипта),то я в скрипте не могу удалить открытый файл, и чтобы было легче понять прошел файл обработку или нет то после каждой обработки появляется файл с новым префиксом по возрастанию (например был префикс ___111___ , добавился новый файл с префиксом ___222___)
файл переносится в папку temp и проходит постепенную обработку всеми скриптами(*.scr). в конце найти файл самый новый по дате создания и проверить есть ли в его имени префикс ___555___(этот префикc получает файл после финальной обработки) , если есть у файла префикс ___555___ то переименовать его (убрать 9 символов) и переместить в папку out , если нет то переименовать его (убрать 9 символов) и переместить в папку error. все файлы в папке temp удаляются.
и так с каждым файлом dwg и dxf в исходной папке.

Отправлено: 22:30, 22-12-2016 | #24


Ветеран


Contributor


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

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


Цитата:
если есть у файла префикс ___555___ то переименовать его (убрать 9 символов) и переместить в папку out , если нет то переименовать его (убрать 9 символов) и переместить в папку error.
Если файл есть - переименуем. А если его нет, что переименовавать?

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


Отправлено: 11:42, 23-12-2016 | #25


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


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

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


файл переносится в папку temp и проходит постепенную обработку ...
это значит что даже если он не прошел ни одной обработки то его первоначальная версия останется
еще лучше если бы что при переносе он получал префикс ___111___, чтобы при конечном переименывавании не обрезал часть файла если он не прошел ни одной обработки

Отправлено: 12:54, 23-12-2016 | #26


Ветеран


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

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


Цитата composter:
(например был префикс ___111___ , »
Цитата composter:
если есть у файла префикс ___555___ то переименовать его »
Цитата composter:
если нет то переименовать его »
Цитата composter:
что при переносе он получал префикс ___111___, »
для данной ситуации был ___111___ и стал ___111___ и непонятно прошел он первую обработку или все.

интересно, каким образом утилита обрабатывает файл. Будет ошибка, если файл не обработан? При каких-то условиях утилита не станет обрабатывать файл или в любом случае обработает, но не так как надо и как это будет ясно при этом? Есть какой-то четкий критерий того что файл идеален (прошел все утилиты с победой)? Что меняется в файле (время, размер, расширение), если он не проходит как надо хоть одну из утилит.

После осознания и приведения в порядок этих вопросов можно выстроить алгоритм действий, а уже после этого можно играться с именами и перемещениями.

Отправлено: 13:36, 23-12-2016 | #27


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


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

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


До первой обработки файл переносится в папку и при перименовании получает перфикс ___111___
После первой обработки, появляется новый файл тольок его префикс будет ___222___ , файл с перфиксом ___111___ остается. если же обработка прошла не удачно то файл с префиксом ___222___ не появится, и не получит все последующие префиксы, файл с префиксом ___111___ остается на месте.

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

если файл прошел все обработки то у него будет префикс ___555___ , если какую ту обработку не прошел то его префикс будет меньше (___444___ или ___333___)

Отправлено: 16:21, 23-12-2016 | #28


Ветеран


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

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


в таком случае чем не устраивает мой код из п20?

и да. Чего надо добиться не на выходе (найти последний прошедший как понимаю), а в идеале - чтобы все прошли в конце концов или отбор конкретных это и есть конец задачи.

Отправлено: 16:27, 23-12-2016 | #29


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


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

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


так в 20 соббщени вроде запись в лог файл ...

в конце найти файл самый новый по дате создания и проверить есть ли в его имени префикс ___555___(этот префикc получает файл после финальной обработки) , если есть у файла префикс ___555___ то переименовать его (убрать 9 символов) и переместить в папку out , если нет то переименовать его (убрать 9 символов) и переместить в папку error. все файлы в папке temp удаляются.

Отправлено: 16:46, 23-12-2016 | #30



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
VBS/WSH/JS - Подсчет количества ini файлов в папке XXXp Скриптовые языки администрирования Windows 14 10-04-2012 02:06
CMD/BAT - [решено] Счетчик количества файлов Arsenik77 Скриптовые языки администрирования Windows 1 28-08-2011 11:13
CMD/BAT - Перемещение в папку определенного количества файлов Arsenik77 Скриптовые языки администрирования Windows 1 18-07-2011 17:11
Интерфейс - [решено] Переименование большого количества файлов 7human7 Microsoft Windows 2000/XP 7 22-11-2008 09:48
Проблема с начальным пакетом... markizzz Хочу все знать 2 12-10-2003 18:46




 
Переход