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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Умная автозамена при перемещении

Ответить
Настройки темы
Умная автозамена при перемещении

Аватара для Tosyk

Старожил


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

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


Изменения
Автор: Tosyk
Дата: 15-02-2011
У меня есть такая структура файлов:

_export_
------folder-01
-------------MATERIALS
---------------------material-00.mat
---------------------material-03.mat
---------------------material-....mat
-------------IMAGES
---------------------image-08.jpg
---------------------image-02.jpg
---------------------image-....jpg
-------------NEXT-FOLDER

------folder-02
-------------MATERIALS
---------------------material-01.mat
---------------------material-02.mat
---------------------material-....mat
-------------IMAGES
---------------------image-00.jpg
---------------------image-02.jpg
---------------------image-....jpg
-------------NEXT-FOLDER

Задача такая: нужно чтобы папки MATERIALS, IMAGES, NEXT-FOLDER (папок может быть и больше) перемещались бы на два уровня выше (в папку расположения _export_) и сливались бы в одну (каждая в свою). Однако есть нюанс: могут быть разные файлы с одинаковыми именами, как например image-02.jpg (в папках IMAGES). Так вот нужно проверить их отличие и если они отличаются дописать к последнему имя папки folder-02 (либо folder-01, в зависимости от порядка сравнения). Так же добавить прогресс-бар выполнения скрипта (если возможно то с отображением обрабатываемых в данный момент имён файлов).

Эта задача была блестяще выполнена в этой теме товарищем amel27'ом, в сообщени #87 последний рабочий скрипт.

Хочется просто красивое GUI.

Отправлено: 05:52, 15-02-2011

 

Аватара для madmasles

Ветеран


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

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


Цитата Tosyk:
если они отличаются »
Чем? (Размером, хэш-суммой, ...)

Отправлено: 12:09, 15-02-2011 | #2



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

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


Аватара для Tosyk

Старожил


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

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


Точно знаю, что скрипт cmd сравнивал файлы побайтно, незнаю как это хэш или не хэш

Отправлено: 12:44, 15-02-2011 | #3


Аватара для madmasles

Ветеран


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

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


Tosyk,
Давайте определимся.
1. Вам нужно окно, в котором Вы можете выбирать папку для обработки? Или папка всегда одна и та же?.
2. Уровень вложенности нужно менять (например, 2-5)? Или всегда 2?
3. Нужны опции удаления исходных файлов? Папок? Или только копирования?
4. Сравнение файлов по размеру или по дате создания-изменения (быстрее, но два файла, содержащие 123 и 345 имеют одинаковый размер)? По MD5 (MD2, MD4, SHA1, ... с возможностью выбора сравнения) (медленнее, но надежнее)?
5. Нужна опция ведения лог-файла или достаточно результаты вывести на экран?
6. В конечных папках файлы одинакового расширения? Или при поиске-перемещении это без разницы? Или нужны опции выбора по расширениям?
7. Пока все вопросы

Отправлено: 13:33, 15-02-2011 | #4


Googler


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

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


Цитата Tosyk:
Точно знаю, что скрипт cmd сравнивал файлы побайтно, незнаю как это хэш или не хэш »
не лукавь, конечный батник сравнивает только размер =)

Отправлено: 12:27, 16-02-2011 | #5


Аватара для Tosyk

Старожил


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

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


madmasles,
давайте
1 - папка всегда одна и та же
2 - вложенность всегда 2, именно такая структура как я написал в первом посте
3 - как написано в теме "перемещение", т.е. да, удаление нужно (хотя конечно имеется ввиду перемещение)
4 - побайтно конечно надёжнее, но и скорость важна, иногда количество файло достигает нескольких сотен тысяч, и они далеко не маленькие, средний размер - 3 мб, есть ли возможность определить скорость при выбранном способе: размер либо MD5?
5 - думаю это очень полезно, как и результаты.
6 - везде где я встречал всегда расширения одинаковы, однако я не удивлюсь если попадётся, что-то необычное

Цитата amel27:
не лукавь, конечный батник сравнивает только размер »
ааа, да? ну тогда вот так, а я ещё думаю почему так быстро процесс завершился)

у меня один вопрос: можно ли в такой скрипт (знаю что из него можно собрать exe, так вот в exe получается) зашить программу (которая есть - консольная, без gui) и дописать к этой программе функцию исполнения с параметрами перед основным скриптом?

Отправлено: 13:53, 16-02-2011 | #6


Аватара для madmasles

Ветеран


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

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


Tosyk,
Начнем с конца.
"Зашить" программу и запустить ее с нужными параметрами можно. Параметры эти всегда одинаковые или зависят от чего-то? Их выбор нужен?
Нужно ли читать вывод из этой консольной программы и связаны как-то наши дальнейшие действия с тем, что она сделает?
По п.4 предлагаю проверять по очереди размер - дата - MD5.

Отправлено: 14:49, 16-02-2011 | #7


Аватара для Tosyk

Старожил


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

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


Цитата madmasles:
связаны как-то наши дальнейшие действия с тем, что она сделает? »
программа эта - распаковщик, которая должна искать вглубь поддерживаемые архивы по маске *.* и распаковывать их в папку _export_

Цитата madmasles:
Параметры эти всегда одинаковые или зависят от чего-то? Их выбор нужен? »
было бы чудесно если бы можно было выбирать параметры!

Цитата madmasles:
По п.4 предлагаю проверять по очереди размер - дата - MD5. »
по дате проверять точно не нужно, а есть ли смысл проверять по размеру елси проверяется сумма md5?

Отправлено: 15:05, 16-02-2011 | #8


Аватара для madmasles

Ветеран


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

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


Цитата Tosyk:
программа эта - распаковщик »
Вы бы мне ее передали и ключи к ней. Случайно не 7z?
Цитата Tosyk:
а есть ли смысл проверять по размеру елси проверяется сумма md5? »
Я имел в виду, что проверяем при совпадении имен так:
1. Не совпадает размер - перемещаем с переименованием.
2. Если совпадает размер проверяем время создания(изменения) - не совпадает - перемещаем с переименованием.
3. И только если совпадают п.1 и п.2, проверяем MD5.

Отправлено: 15:26, 16-02-2011 | #9


Аватара для Tosyk

Старожил


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

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


Цитата madmasles:
Я имел в виду, что проверяем при совпадении имен так: »
ааа, понятно, ну если это не сильно замедлит процесс, тогда пусть проверяет!

Цитата madmasles:
Вы бы мне ее передали и ключи к ней »
вот программа:
http://dl.dropbox.com/u/9919707/blog...net/umodel.zip

а вот строка:
Код: Выделить весь код
umodel.exe -export -game=aa3 -all -out=.\_export_
может меняться параметр: -game=aa3

а также добавляться параметры:
nostat, noanim, notex

сэмпл файл:
http://dl.dropbox.com/u/9919707/blog...AA_Main_UI.upk

Отправлено: 16:12, 16-02-2011 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Умная автозамена при перемещении

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Автозамена при перемещении Tosyk Скриптовые языки администрирования Windows 99 07-06-2012 12:25
Разное - Затормаживание окон при перемещении Stich777 Microsoft Windows 7 0 19-01-2011 21:52
Проблема с переносом разрешений при перемещении данных alnimo Microsoft Windows NT/2000/2003 5 21-12-2010 12:22
Треск звука при перемещении мыши Dr. MefistO Непонятные проблемы с Железом 9 07-12-2008 14:26




 
Переход