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

Компьютерный форум 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:
сэмпл файл:
http://dl.dropbox.com/u/9919707/blog...AA_Main_UI.upk »
А что мне с ним делать?

Отправлено: 19:24, 16-02-2011 | #11



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

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


Аватара для Tosyk

Старожил


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

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


Применить на него вот такой код:
Код: Выделить весь код
for /f "tokens=*" %%a in ('dir /b /s *.*') do umodel.exe -export -nostat -game=aa3 -all -out=.\_export_ "%%a"

Отправлено: 14:00, 17-02-2011 | #12


Аватара для madmasles

Ветеран


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

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


Цитата Tosyk:
Применить на него вот такой код: »
Запускаю из папки с AA_Main_UI.upk батник с содержанием
Код: Выделить весь код
for /f "tokens=*" %%a in ('dir /b /s *.*') do umodel.exe -export -nostat -game=aa3 -all>read.txt
pause
На выходе получаю то, что в прикрепленном архиве.

Последний раз редактировалось madmasles, 13-08-2011 в 14:30.


Отправлено: 14:42, 17-02-2011 | #13


Аватара для Tosyk

Старожил


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

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


а куда эта часть пропала?:
Код: Выделить весь код
 -out=.\_export_ "%%a"
в любом случае попробуйте этот код:
Код: Выделить весь код
for /f "tokens=*" %%a in ('dir /b /s *.*') do umodel.exe -export -all -out=.\_export_ "%%a"
на этом файле:
http://dl.dropbox.com/u/9919707/blog...56_Plants.umap

Отправлено: 14:52, 17-02-2011 | #14


Аватара для madmasles

Ветеран


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

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


Цитата Tosyk:
а куда эта часть пропала? »
Это моя невнимательность.
Теперь все работает.

Отправлено: 15:06, 17-02-2011 | #15


Аватара для madmasles

Ветеран


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

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


Tosyk,
Вы не могли бы написать мне только ту часть ком. строки, где работает только umodel.exe (без этого куска for /f "tokens=*" %%a in ('dir /b /s *.*') do) с вариантами ключей и порядка их следования, типа
Код: Выделить весь код
umodel.exe Param1 Param2 Param3 Param4 Param5 и т.д.

Param1 - (обязательный?) -path=чему?
Param2 - (обязательный?) -export или?
Param3 - (обязательный?) -all или?
Param4 - (обязательный?) -nostat, -noanim, -notex
Param5 - (обязательный?) -out=чему?
и т.д.
И еще, как я понял, umodel.exe распаковывает файлы с расширением *.u*, это так?

Отправлено: 18:11, 17-02-2011 | #16


Аватара для Tosyk

Старожил


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

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


Цитата madmasles:
строки, где работает только umodel.exe »
да конечно:
Код: Выделить весь код
umodel.exe -export -all -out=.\_export_ ФАЙЛ
вместо ФАЙЛ имя файла
Цитата madmasles:
Param1 - (обязательный?) -path=чему? »
про этот параметр я кажется нигде не упомянал
Цитата madmasles:
Param2 - (обязательный?) -export или? »
ключ действия распаковки, обязательный, не меняется
Цитата madmasles:
Param3 - (обязательный?) -all или? »
опционально, желательно, не меняется
Цитата madmasles:
Param4 - (обязательный?) -nostat, -noanim, -notex »
опционально, программа umodel.exe иногда не поддерживает в некоторых архивах функции экспорта для некоторых типов файлов, -nostat, -noanim, -notex, эти параметры включают игнорирование, могут указываться как все, так только один из них
Цитата madmasles:
Param5 - (обязательный?) -out=чему? »
ключ создаёт папку _export_, обязательный, должна создаваться папка куда распаковываются в структуру (которую я указал в первом посте) файлы, имя папки можно выбрать любое
Цитата madmasles:
И еще, как я понял, umodel.exe распаковывает файлы с расширением *.u*, это так? »
собственно я сам до конца не знаю какие расширения он поддерживает, для удобства автор сделал игнорирование неподдерживаемых форматов, он их просто игнорирует, поэтому я использую ключ *.*,т.е. ищу во всех файлах вглубь.

Отправлено: 19:26, 17-02-2011 | #17


Аватара для madmasles

Ветеран


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

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


Tosyk,
Разбираюсь с umodel.exe, хочу сделать прогресс-бар и для него.
Мне не понятно следующее:
1. Файлы и папки распаковываются в заданную папку _export_ в подпапку по имени обрабатываемого файла (без расширения). Сейчас я привязываю прогресс-бар к изменению размеров этой подпапки. А что делает umodel.exe или что нам делать, если такая папка уже есть?
2. По тем 2-м файлам, которые Вы мне передали мне никак не понять связь между размером файла и размером полученных после распаковки файлов и папок.
3. Можно ли какой-нибудь командой получить кол-во файлов или их размер в распаковываемом файле? (команда umodel файл -list > 1.txt не дает мне никакой информации для прогресс-бара).

Цитата Tosyk:
я сам до конца не знаю какие расширения он поддерживает »
Я добавил в исключения для обработки расширения 'txt', 'au3', 'exe', 'rar', 'cmd', 'bat', 'DLL'. Может еще какие-то добавить или и этого не надо?


ИМХО, нам, наверное, надо переходить в ПМ, пока не получили предупреждения от модераторов.

Последний раз редактировалось madmasles, 18-02-2011 в 10:33.


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


Googler


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

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


Цитата madmasles:
ИМХО, нам, наверное, надо переходить в ПМ, пока не получили предупреждения от модераторов. »
за что предупреждение?... всё по теме, мы набрали почти 100 постов для батника )

Отправлено: 10:34, 18-02-2011 | #19


Аватара для Tosyk

Старожил


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

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


Цитата madmasles:
Разбираюсь с umodel.exe, хочу сделать прогресс-бар и для него. »
это было бы чудом
Цитата madmasles:
А что делает umodel.exe или что нам делать, если такая папка уже есть? »
заменяет всё в ней
Цитата madmasles:
мне никак не понять связь между размером файла и размером полученных после распаковки файлов и папок. »
а связи нет, в архивах содержится не только распаковываемая информация, но и так, которую umodel не понимает, а так же umodel имеет встроенный коневертер файлов в более понятный формат, поэтому и получается, что суммы не совпадают
Цитата madmasles:
Можно ли какой-нибудь командой получить кол-во файлов или их размер в распаковываемом файле? »
вот что я получил командой umodel -pkginfo Admin_A_CH56_Plants.umap:
Код: Выделить весь код
Found 1 game files (100 skipped)
Loading package: Admin_A_CH56_Plants.umap Ver: 576/21 Engine: 4701 Names: 1496 Exports: 1669 Imports: 200 Game: 8011
думаю было бы полезно выводить эту информацию, и кстати по версии (в данном случае Ver: 576.21) определяется наличие или отсутствие этих параметров: -nomesh, -noanim, -nostat, -notex, -lzo|lzx|zlib.

можно попробывать ещё такие команды:
umodel -dump Admin_A_CH56_Plants.umap
umodel -check Admin_A_CH56_Plants.umap

Цитата madmasles:
Я добавил в исключения для обработки расширения 'txt', 'au3', 'exe', 'rar', 'cmd', 'bat', 'DLL'. Может еще какие-то добавить или и этого не надо? »
да я даже незнаю как они могут быть задействованы, наверное правильно их пропускать, только на счёт au3 не уверен, он кажется как пакет встречается, не вспомнить..

p.s.: ещё забыл про эти паремтры: -ps3, -ios, -sounds, первые два параметра очень важны

вроде, что то ещё хотел спросить, кажется не столь важно

Отправлено: 11:50, 18-02-2011 | #20



Компьютерный форум 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




 
Переход